Nahtlose Integration von J2EE, CORBA und.net

Größe: px
Ab Seite anzeigen:

Download "Nahtlose Integration von J2EE, CORBA und.net"

Transkript

1 Nahtlose Integration von J2EE, CORBA und.net Integration der unterschiedlichen Welten ohne zusätzliche Brückenprodukte Autor: Martin Heinzl, Senior Consultant Immer wieder müssen von IT-Verantwortlichen schwerwiegende Technologie- Entscheidungen getroffen werden, die meistens nicht nur ein Projekt sondern eine gesamte IT Landschaft beeinflussen. Da immer wieder neue Technologien entstehen müssen Entschieder alle paar Jahre ihre bisherigen Strategien überdenken. Neue Technologien und neue Standards können der Softwareentwicklung eines Unternehmens erhebliche Vorteile gegenüber älteren Technologien bringen. Allerdings sind Technologie- und Strategieänderungen für Altsysteme meist mit großen Migrationsaufwänden verbunden oder gar aufgrund von Budget- und Zeitbeschränkungen überhaupt nicht realistisch. Eine sehr wichtige Eigenschaft neuer Technologien und Strategien ist daher immer deren Fähigkeit sich mit den vorhandenen Systemen zu integrieren. Der neueste Trend der Softwarenetwicklung geht mit dem Themenbereich Webservices dazu über Systeme sehr lose miteinander zu koppeln und Daten über XML auszutauschen. Dies ist jedoch nicht ein Allheilmittel für alle Probleme der Softwareentwicklung. Für eine serverlastige Infrastruktur innerhalb eines Unternehmens zwischen Unternehmen oder auch Unternehmenszweigen ist die Kommunikation über Webservices zweifelsfrei eine sehr gute Wahl bedarf es einer soliden Infrastruktur, die nicht nur sicher ist, sondern bei der besonders Themen wie Verfügbarkeit, Ausfallsicherheit, Lastverteilung, Wartbarkeit und Betrieb eine große Rolle spielen. Zwei wesentliche Kandidaten sind in der heutigen Zeit in der Diskussion für derartige Softwareinfrastrukturen: J2EE (Java 2 Enterprise Edition), eine Sammlung von java basierten Standards.NET, die neue Technologie von Microsoft Eine Entscheidung für eine dieser beiden Welten hat auf die Softwareentwicklung und die Architektur in den Unternehmen großen Einfluss. Die beiden Plattformen J2EE und.net beherrschen schon heute 85 Prozent der geplanten Applikationsinvestitionen (Quelle: Gartner). Es ist nicht immer notwendig, sich 100% auf eine dieser beiden Welten festzulegen. Auch eine Mischform ist möglich und wird oft genutzt. Die Komplexität der Plattformen macht eine Entscheidung nicht einfach. Daher müssen den Entscheidern die Unterschiede bzw. die Vor- und Nachteile der beiden Plattformen bewußt sein.

2 Es gibt allerdings noch eine dritte Plattform, die heutzutage oft zu Unrecht immer weiter in den Hintergrund gedrängt wird, und das CORBA (Common Object Request Broker Spezifikation der Ombject Management Group) selber. Frei nach dem Motto: Totgeglaubte leben länger gibt es sehr wohl noch Projekte, die direkt mit CORBA arbeiten. CORBA ist alles andere aber nicht tot sondern hat gerade durch J2EE in seiner aktuellsten Form einen neuen Aufschwung erlebt, was allerdings nicht immer für alle Beteiligten sichtbar ist. Die J2EE Spezifikation hat sich dazu entschieden, CORBA als generelles Kommunikationsmedium für die Kommunikation zwischen den unterschiedlichen Kontainern zu definieren. Als besondere Einsteigspunkte gibt es daneben natürlich auch JMS (Java Message Service) bzw. Webservices und SOAP (Simple Object Access Protocol). Das bedeutet das eine bestehende CORBA Infrastruktur sehr wohl in eine J2EE Infrastruktur eingebunden werden kann. Darüberhinaus gehen Hersteller dazu über die oben erwähnten Eigenschaften (u.a. Ausfallsicherheit, Lastverteilung) der zugrundeliegenden CORBA Infrastruktur zu nutzen (z.b. beim Borland Enterpise Server der intensiv die bewährte VisiBroker (die CORBA Implementierung von Borland) Infrastruktur nutzt). Die von Microsoft entwickelte.net Plattform kennt selbstverständlich ebenfalls die Kommunikation mit entfernten Systemen. Dies ist ein wichtiger Aspekt des.net Frameworks der normalerweise als Remoting bezeichnet wird. Die.NET Infrastruktur bietet von Haus aus außer WebServices keine Möglichkeit an mit einem J2EE oder CORBA Server zu kommunizieren. Es gibt mittlerweile einige Systeme sog. Brücken oder Bridges genannt die eine Kommunikation möglich machen. Diese allerdings erzeugen sowohl einen zusätzlichen Netzwerkzugriff als aus eine neue mögliche Fehlerquelle bzw. Engpass in der Architektur. Dieser Artikel möchte eine andere Art von Kommunikationsmöglichkeit vorstellen. Borland entwickelt mit dem Produkt Janeva (interner Projektname ist VisiNET) eine Möglichkeit direkt aus einem.net Prozess heraus via CORBA (aufbauend auf der bewährten VisiBroker Technologie) mit CORBA bzw. J2EE Servern zu kommunizieren. Diese Technologie setzt auf der Remoting Architektur von.net auf. Da dieses Produkt auf Basis von.net entwickelt wurde ist es weder ein typische Software- oder Kommunkationsbrücke noch ein Systemflaschenhals. Es ist daher direkt in einen.net Prozess integriert und kein zusätzlicher Systemprozess oder komponente. Da sich daher alle Welten miteinander kombinieren lassen, wird man sich mit keiner dieser Technologien ins Abseits navigieren. J2EE hat sowieso CORBA als zugrundeliegende Kommunikationsplattform. Für.NET kommen durch CORBA (z.b. mit Janeva) weitere Möglichkeiten wie z.b. Firewall Support, Sicherheit, HTTP Tunneling, Services,... hinzu. Darüberhinaus können sich alle Systeme selbstverständlich nach wie vor auch mittels Webservices kombinieren lassen. Hauptsächlich für Intranet Anwendungen entwickelt Borland eine native.net CORBA Implementierung um die Integration dieser Welten elegant (nur ein andere Art (nicht CORBA spezifisch) von

3 Kommunikation auf der.net Seite) und vor allem performant und skalierbar zur Verfügung zu stellen. Architektur der.net CORBA Implementierung Ähnlich wie alle CORBA Systeme (vergleiche auch VisiBroker für Java und C++ Produkte) besteht das Produkt Janeva aus einer Laufzeitumgebung und verschiedenen Codegeneratoren. Janeva ist im Kern eine Portierung von VisiBroker für Java nach J# und wird daher nach und nach alle Eigenschaften der VisiBroker Produktfamilie zur Verfügung haben. Es werden in der ersten Version 2 Compiler mit ausgeliefert werden. Ein Compiler um Stubs aus CORBA-IDL zu generieren und ein weiterer Compiler um Stubs von java RMI Interfaces zu generieren (hauptsächlich für Zugriff auf J2EE Systeme). Ein interessanter Aspekt bei den generierten Stub besteht darin, das diese nicht auf für eine bestimmte Sprache generiert werden sondern auf dem CTS (Common Type System dem Microsoft sprachunabhängigen Typsystem) aufbauen. Das bedeutet, das die von einem IDL2CS (IDL nach C#) Compiler generierten Stubs ebenso in anderen.net Sprachen, wie z.b. JScript,... verwendet werden können. C# Basic C++ C# Basic JScript Janeva.NET Stubs Janeva.NET Stubs EJB 1 EJB 2 Obj 1 Obj 2.NET Runtime ASP.NET Runtime J2EE Server CORBA Janeva Runtime Janeva Runtime RMI-IIOP IDL-IIOP Abb.:1 Deployment Architektur des Janeva Produktes Ein wichtiger Aspekt beim Deployment ist es, das keinerlei Komponenten von Janeva auf der Serverseite (weder für CORBA noch J2EE) notwendig sind (vgl. Abb. 1). Dies zeigt deutlich, das die.net Kommunikation vollständig transparent und damit für die Server (J2EE und CORBA) als reine CORBA Kommunikation erscheint. Für Client Entwickler ist eine der Hauptstärken von Janeva die Möglichkeit ausschließlich gegen das.net Modell zu programmieren. Es sind auf der Client Seite wenige CORBA oder J2EE Kenntnisse notwendig. Bei genauerer Betrachtung der generierten Stubs bemerkt man, das diese in 2 Schichten aufgeteilt sind (vgl. Abb. 2), ein Raw Stub Layer für den Zugriff auf pure CORBA Technologie und einen Ease-of- Use Layer der eine.net Variante für den Zugriff auf J2EE Technologien enthält.

4 J2EE Server Environment C# Client Ease-of-Use Layer Raw Stub Layer.NET Runtime Janeva Runtime Naming Service Transaction Service EJB Container Home Objects Remote Objects Abb.:2 Schichtenmodell des Janeva Produktes Eigenschaften von Janeva Die CORBA Implementierung Janeva basiert auf der soliden Codebasis des Produktes VisiBroker/Java. Daher hat auch schon die erste Version von Janeva folgende Eigenschaften. Es handelt sich um eine komplette (vorläufig clientseitige) Implementierung des CORBA Standards. In der ersten Version wird kein (für den Programmierer) funktionsfähiger POA mitgeliefert, dies ist allerdings für eine Nachfolgerversion geplant. Janeva enthält eine hochperformante Marshalling/Demarshalling Engine für CORBA konforme IIOP Kommunikation, die Unterstütung der VisiBroker TCP/IP Verbindungsverwaltung, die komplette Unterstützung von Objects-by-Value was für die Kommunikation RMI/IIOP unerläßlich ist und viele der sonstigen VisiBroker Eigenschaften. Eine Unterstützung für Sicherheit und Transaktionen sowie die Möglichkeit den ORB mittels Interceptoren zu erweitern ist für eine Nachfolgerversion geplant, genauso wie die Möglichkeit.NET Programme als CORBA Server anzusprechen.

5 Beispiel für die Integration der 3 Welten Das folgende Programmbeispiel soll die Integration zwischen den unterschiedlichen Welten zeigen. Dabei soll besonders die Transparenz zwischen den Welten dargestellt werden. Daher wird auf eine komplizierte Geschäftslogik verzichtet und nur ein String zurückgegeben, welche Arbeit eigentlich hätte gemacht werden sollen. Das Beispiel besteht aus einem.net Client, einer entfernten DateiAblage (CORBA Server) und einer entfernten DatenbankAblage (J2EE). Um alle möglichen Integrationen zu zeigen, wird die DatenbankAblage alle Daten auch an die DateiAblage schicken und andersherum ebenfalls. Dieses Beispiel zeigt gleichzeitig das eine kombinierte J2EE und CORBA Welt Sinn machen kann, da J2EE (speziell Entity Beans) beim Datenbankzugriff (inkl. Transaktionssicherheit,...) besser geeignet sind aber laut Spezifikation von EJBs auf Dateien nicht direkt zugegriffen werden darf. CORBA dagegen kennt kein Persistenzmodell, hat aber dagegen keine Entschränkung beim Dateisystem. Diese Einschänkungen, bzw. Freiheiten haben schon in vielen Praxisprojekten zu einer heterogenen Landschaft aus J2EE und CORBA Elementen geführt. Abb.:3 Kommunikation in der Beispielanwendung. Die unterschiedlichen Farben sollen nur die zwei unterschiedlichen Kommunikationswege des Beispiels zeigen und haben sonst keinerlei Bedeutung. In dem folgenden Beispiel wird der komplette Sourcecode aller drei beteiligten Applikationen gezeigt. Die von den unterschiedlichen Compilern generierten Sourcecodes wurden allerdings aus Platzgründen weggelassen.

6 Definition der Schnittstellen Als erstes müssen die Schnittstellen der beiden Server definiert werden. Dazu benötigt man die IDL (CORBA) Definition des DateiAblage-Servers und das Home- und Remote Interface (EJB) des DatenbankAblage-Servers. In jedem Interface sind zwei Methoden definiert. speicheredaten für den Zugriff vom.net Client und speicheredateninternal für den Zugriff der Server untereinander. IDL Schnittstelle des CORBA Servers: module integrationtest exception SpeicherException ; typedef sequence<octet> TestDaten; interface DateiAblage string speicheredaten(in string id, in TestDaten data) raises (SpeicherException); string speicheredateninternal(in string id, in TestDaten data) raises (SpeicherException); ; ; Remote Schnittstelle des Beispiel-EJBs: package integrationtest.ejb; public interface DatenbankAblage extends javax.ejb.ejbobject public String speicheredaten(string id, byte[] daten) throws RemoteException,integrationtest.ejb.SpeicherException; public String speicheredateninternal(string id, byte[] daten) throws RemoteException,integrationtest.ejb.SpeicherException; Home Schnittstelle des Beispiel-EJBs: package integrationtest.ejb; public interface DatenbankAblageHome extends javax.ejb.ejbhome public DatenbankAblage create() throws CreateException, RemoteException; In diesem Beispiel wird bewußt auf weitere Details wie Absicherung der Zugriffrechte durch entsprechende Sicherheitstechnologien oder aus Aufteilen in unterschiedliche Schnittstellen für den Zugriff der Server untereinander bzw. Zugriff vom.net Client verzichtet. Hierbei soll ebenfalls erwähnt werden, das Borland jetzt schon über eine einheitliche Sicherheitsinfrastruktur zwischen allen EJB Komponenten, EJB-Clients, Java/CORBA Servern und Java/CORBA Clients besitzt. Eine entsprechende Implementierung der Sicherheitstechnologien (CSIv2, JAAS ähnlich) für VisiBroker C++ ist bereits als TechPreview verfügbar und eine Portierung auf C# für eine spätere Version

7 von Janeva geplant, so das nicht nur eine einheitliche Kommunikationsplattform, sondern auch eine einheitliche Sicherheits- und Transaktionsplattform für die gesamte Borland Middleware zur Verfügung stehen wird. Für eine asynchrone Kommunikation wird ebenfalls der Borland CORBA-Notifcationservice auf allen Plattformen verfügbar sein, da dieser auch in den J2EE Server (Borland Enterprise Server) von Borland integriert ist. Implementierung des EJBs des DatenbankAblage-Server: Bei dieser Implementierung ist besonders auf die ejbcreate() Methode zu achten. Hier sieht man, das die standard J2EE Funktionen (lookup, PortableRemoteObject.narrow) auch dazu benutzt werden um eine Referenz auf einen CORBA Server zu bekommen. Daher kann man (außer duch die Namenswahl) nicht zwischen dem Zugriff auf ein anderes EJB und den Zugriff auf einem CORBA Server unterscheiden. Durch RMI/IIOP werden beide Zuriffe identisch behandelt. package integrationtest.ejb; public class DatenbankAblageBean implements SessionBean SessionContext sessioncontext; DateiAblage mycorbaservice = null; public void ejbcreate() throws CreateException try InitialContext ctx = new InitialContext(); mycorbaservice = (DateiAblage) PortableRemoteObject.narrow( ctx.lookup("dateiablage"), DateiAblage.class); catch (Exception ex) throw new EJBException(ex); public String speicheredaten(string id, byte[] daten) throws integrationtest.ejb.speicherexception try return speicheredateninternal(id,daten) + mycorbaservice.speicheredateninternal(id, daten); catch (Exception ex) throw new integrationtest.ejb.speicherexception(ex.getmessage()); public String speicheredateninternal(string id, byte[] daten) throws integrationtest.ejb.speicherexception return "Daten mit ID:" + id + " in der Datenbank gespeichert!\n" ; < andere EJB Methoden... >

8 Implementierung des DateiAblage-Servers (CORBA Server): Bei dieser Implementierung ist besonders auf den Konstruktor des Servant zu achten. Hier sieht man, das die standard CORBA Funktionen (resolve,narrow) auch dazu benutzt werden um eine Referenz auf ein EJB Home Objekt zu bekommen. Daher kann man (außer duch die Namenswahl) nicht zwischen dem Zugriff auf ein EJB und den Zugriff auf einen anderen CORBA Server unterscheiden. package integrationtest.corba; public class DateiAblageImpl extends DateiAblagePOA DatenbankAblage mysession = null; public DateiAblageImpl(NamingContextExt root) try // Get DatenbankAblage Home Object and cast it Object mobj = root.resolve(root.to_name("datenbankablage")); DatenbankAblageHome datenbankablagehome = DatenbankAblageHomeHelper.narrow(mObj); mysession = datenbankablagehome.create(); catch (Exception ex) ex.printstacktrace(); public String speicheredaten (String id, byte[] daten) throws integrationtest.speicherexception try return speicheredateninternal(id,daten)+ mysession.speicheredateninternal(id,daten); catch (Exception ex) throw new integrationtest.speicherexception(ex.getmessage()); public String speicheredateninternal (String id, byte[] daten) throws integrationtest.speicherexception return "Daten mit ID:"+id+" auf Datenträger gespeichert!\n"; Zusätzlich zu dem Servant muss der eigentliche CORBA Serverprozess entwickelt werden. Dies ist lediglich die Initialisierung des ORBs, der Zugriff auf den Namingservice and anlegen und aktivieren des Servants und dessen Eintrag in den Namingservice. Dieser Sourcecode ist nur der zur Vollständigkeit hier mit aufgelistet:

9 package integrationtest.corba; public class DateiAblageServer public static void main(string[] args) try ORB orb = ORB.init(args,null); POA root_poa = POAHelper.narrow( orb.resolve_initial_references("rootpoa")); // Get NamingService Object rootobj = orb.resolve_initial_references("nameservice"); NamingContextExt root = NamingContextExtHelper.narrow(rootObj); // Create DateiAblageImpl myservice = new DateiAblageImpl(root); root_poa.activate_object(myservice); // Register in NamingService root.rebind(root.to_name("dateiablage"),myservice._this()); root_poa.the_poamanager().activate(); System.out.println("Server ready..."); orb.run(); catch (Exception ex) ex.printstacktrace(); Implementierung des.net Clients mit Zugriff auf beide Server Dieser Sourcecode ist der einzige Codeblock in C# und zeigt daher die Benutzung von Janeva in.net. Alle vorherigen Codebeispiele waren in Java geschrieben. Nach der Initialisierung des ORBs kann die benötigte Referenz auf den Namingservice aufgelöst werden. Dazu gibt es mehrere Möglichkeiten. Eine davon (IOR) wird in diesem Beispiel verwendet. Danach ist für beide Beispiele (CORBA Zugriff und EJB Zugriff) das gleiche Vorgehen. Referenz vom Namingservice abfragen, umwandeln und dann auf dieses Objekt zugreifen. Im Falls von EJBs muss natürlich erst vom gefunden Home-Objekt mittels create() eine Referenz auf eine EJB Instanz (Zugriff über das Remote Interface) erzeugt werden. Dieses Designpattern (Factory) ist auch bei CORBA Servern weit verbeitet. Das Beispiel zeigt ebenfalls, wie aus beiden Welten (CORBA und EJB) u.u. auftretende Benutzerexceptions (hier SpeicherException genannt) gefangen werden können. Ich möchte hier noch einmal darauf hinweisen, das dieser Code in C# geschrieben wurde und das auch Janeva primär C# code erzeugt. Selbstverständlich kann das unten abgebildete Beispiel in allen unterstützen.net Sprachen geschrieben werden. Dazu müssen lediglich die von den Compilern generierten Klassen in C# kompiliert und als Assembly verpackt zur Verfügung gestellt werden.

10 Um genauer unterscheiden zu können, was CORBA und was EJB Zugriffe sind, wurde in dem Beispiel auf ein using für den EJB Namensraum verzichtet und bei EJBs immer der komplette Namensraum angegeben. using System; using CosNaming; using integrationtest; namespace Integrationstest class Client static void Main(string[] args) try // initialize the ORB CORBA.ORB orb = CORBA.ORB.Init(args); // Obtain the root context. CORBA.Object rootobj = orb.stringtoobject("ior: "); NamingContextExt root = NamingContextExtHelper.Narrow(rootObj); // **** Der erste Teil ist ein Zugriff auf ein CORBA Objekt! ******** CORBA.Object mgrobj = root.resolve(root.toname("dateiablage")); DateiAblage meinablage = DateiAblageHelper.Narrow(mgrObj); try // call CORBA Server Console.WriteLine(meinAblage.SpeichereDaten("mein Daten", new byte[0])); catch (SpeicherException e_speicher) Console.WriteLine("Achtung CORBA User-Exception gefangen!!"); Console.WriteLine(e_speicher); // ****** Der zweite Teil ist ein Zugriff auf ein EJB! ********* new integrationtest.ejb.speicherexceptionvaluefactory(); CORBA.Object homeobj = root.resolve(root.toname("datenbankablage")); integrationtest.ejb.datenbankablagehome myhome = integrationtest.ejb.datenbankablagehomehelper.narrow(homeobj); integrationtest.ejb.datenbankablage mysession = myhome.create(); try // Call EJB Console.WriteLine(mySession.SpeichereDaten( "mein EJB Daten", new byte[0])); catch (integrationtest.ejb.speicherexception e_speicher) Console.WriteLine("Achtung EJB User-Exception gefangen!!"); Console.WriteLine(e_speicher); catch (SpeicherException e_speicher) Console.WriteLine("Achtung User-Exception gefangen!!"); Console.WriteLine(e_speicher); catch (Exception e)

11 Console.WriteLine(e); Weitere Integrationsmöglichkeiten mit Janeva Das Beispiel in diesem Artikel zeigt deutlich, wie einfach und transparent sich diese Welten integrieren lassen. In diesem Beispiel wurden J2EE und CORBA Zugriffe dargestellt. Eine weitere mögliche Kombination besteht ebenfalls von.net (client) nach Delphi, da auch eine VisiBroker Implementierung für die Delphi Entwicklungsumgebung zur Verfügung steht. Zur Zeit können mit Janeva keine.net-server geschrieben werden (zukünftiges Release). Selbstverständlich können aber WebServices eingesetzt werden um von J2EE und CORBA zurück nach.net zu kommunizieren. Eine zukünftige Version von Janeva wird auch serverseitige CORBA-Komponenten in.net möglich machen. Borland Enterprise Server Die J2EE und CORBA Server in diesem Artikel wurden mit dem Borland Enterprise Server 5.2 entwickelt und getestet. Der in diesem Artikel abgedruckte serverseitige Sourcecode enthält keinerlei Borland spezifischen Code und sollte daher auf allen standardkonformen ApplicationServern bzw. ORBs laufen. Aufgrund seiner CORBA Architektur ist der Borland Enterprise Server jedoch bestens für derartige Integrationen geeignet. Die durchgängige Security-Infrastruktur und die Firewallunterstütung durch den GIOP-Firewallproxy Gatekeeper sowie stabile und performante Enterpriseservices wie der Naming- und der Notificationservice, die alle auf der selben CORBA Infrastruktur aufgesetzt sind erleichtern und vereinfachen die Integration der unterschiedlichen Welten sehr und machen jegliche Brückenprodukte überflüssig.

12 Zusammenfassung Dieser Artikel soll zeigen, das.net, J2EE und CORBA keineswegs nur konkurrierende Systeme sind. Zweifelsfrei gibt es etliche Überschneidungen aber trotzdem wird es in der Industrie sehr oft zu heterogenen Landschaften kommen. Daher bietet diese Art der Integration eine Möglichkeit eine sehr einfache und natürlich Integration der verschiedenen Welten zu schaffen, die noch dazu eine sehr transparente Programmierung auf allen Seiten ermöglicht. CORBA bietet darüberhinaus eine sichere und performantere Kommunikation als es WebServices ermöglichen. Zweifelsfrei kann diese Möglichkeit nicht überall eingesetzt werden (siehe z.b. Internet) aber durch ausgereifte CORBA Technologie (VisiBroker bietet u.a. auch einen OMG-FirewallProxy) kann diese Technologie in vielen Fällen eine problemlose Integration erfüllen und eine heterogene Systemlandschaft möglich machen. Der vorliegende Artikel wurde mit einem Beta-Release von Janeva und dem Borland Enterprise Server 5.2 entwickelt und getestet.

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

WebService in Java SE und EE

WebService in Java SE und EE Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

EJBs und Sicherheit. Vorlesung: Applikationsserver. Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.

EJBs und Sicherheit. Vorlesung: Applikationsserver. Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen. EJBs und Sicherheit Vorlesung: Applikationsserver Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.de/~reich Deklarative Sicherheit Zugriffsrechte auf die EJB-Methoden werden

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 31.03.2003 J.M.Joller 1 Inhalt Architekturen Main Stream.NET J2EE und Applikations-Server Sicht der Anbieter Java J2EE J2EE versus.net Web

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

Mehr

Janeva:.NET meets J2EE

Janeva:.NET meets J2EE Inhalt: Motivation Was ist Janeva? Systemvoraussetzungen Installation Beispiel Converter Fazit Motivation Motivation: Janeva testen einen Überblick verschaffen Lauffähiges Beispiel Entscheidungshilfe über

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access

Mehr

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Unsere Webapplikation erweitern

Unsere Webapplikation erweitern Unsere Webapplikation erweitern Um die Webapplikation zu benutzen: 1. Starten Sie den Server, indem Sie das Hauptprogramm in der Klasse ImdbServer starten. 2. Laden Sie im Browser die Seite http://localhost:8080/html/index.html.

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

Print2CAD 2017, 8th Generation. Netzwerkversionen

Print2CAD 2017, 8th Generation. Netzwerkversionen Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software

Mehr

M@school Software- und Druckerzuweisung Selbstlernmaterialien

M@school Software- und Druckerzuweisung Selbstlernmaterialien Bildung und Sport M@school Software- und Druckerzuweisung Selbstlernmaterialien Hinweise zum Skript: LMK = Linker Mausklick RMK = Rechter Mausklick LMT = Linke Maustaste RMT = Rechte Maustaste Um die Lesbarkeit

Mehr

Innere Klassen in Java

Innere Klassen in Java Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Multimedia und Datenkommunikation

Multimedia und Datenkommunikation Multimedia und Datenkommunikation Einteilung in Unterpunkte Netzwerk Audioausgabe Internetzugang Basis des Projektes Büro 5 Mitarbeiter Datenaustausch via Diskette Kein Netzwerk Ein Nadeldrucker Netzwerke

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien CORBA Beispiel einer Middleware-Plattform Christian Fass WS 2013/14 Software Engineering: Basistechnologien Allgemeines Common Object Request Broker Architecture Middleware: Vermittelt zwischen Obekten/Prozessen

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

Mehr

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1): Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils

Mehr

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)

Mehr

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Dokumentation Black- und Whitelists Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Inhalt INHALT 1 Kategorie Black- und Whitelists... 2 1.1 Was sind Black- und Whitelists?...

Mehr

Terminabgleich mit Mobiltelefonen

Terminabgleich mit Mobiltelefonen Terminabgleich mit Mobiltelefonen Sie können Termine- und Aufgaben aus unserem Kalender, sowie die Adressdaten aus dem Hauptprogramm mit Ihrem Mobiltelefon abgleichen. MS Outlook dient dabei als Schnittstelle

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

SIMP 1.01 Protokollspezifikation (Mindestanforderung) SIMP 1.01 Protokollspezifikation (Mindestanforderung) Autor: Harald Pittesser, Dokumentversion: 0.5 beta Eigenschaften SIMP (Simple Instant Message Protocol) ist ein Instant Message Protokol welches folgende

Mehr

Mobile Intranet in Unternehmen

Mobile Intranet in Unternehmen Mobile Intranet in Unternehmen Ergebnisse einer Umfrage unter Intranet Verantwortlichen aexea GmbH - communication. content. consulting Augustenstraße 15 70178 Stuttgart Tel: 0711 87035490 Mobile Intranet

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones

Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones Seite 1 von 5 Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones von Robert Panther Mobile Devices auf Basis von Windows CE haben sich inzwischen fest am Markt etabliert. Nach dem Siegeszug

Mehr

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller Flashfragen in ILIAS Test & Assessment Helmut Schottmüller Flashfragen in ILIAS Test & Assessment Helmut Schottmüller Veröffentlicht Januar 2009 Copyright 2009 Helmut Schottmüller Inhaltsverzeichnis 1.

Mehr

Das Handbuch zu Simond. Peter H. Grasch

Das Handbuch zu Simond. Peter H. Grasch Peter H. Grasch 2 Inhaltsverzeichnis 1 Einführung 6 2 Simond verwenden 7 2.1 Benutzereinrichtung.................................... 7 2.2 Netzwerkeinrichtung.................................... 9 2.3

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS)

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS) Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Automatisierung, Betrieb, Middleware Einleitung Der Oracle Fusion Middleware Stack beinhaltet eine leistungsstarke

Mehr

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Step by Step Softwareverteilung unter Novell. von Christian Bartl Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen

Mehr

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP. Beschreibung Betriebliche Kennzahlen sind für die Unternehmensführung von zentraler Bedeutung. Die Geschäftsführer oder Manager von erfolgreichen Unternehmen müssen sich deshalb ständig auf dem Laufenden

Mehr

Anwendertreffen 20./21. Juni

Anwendertreffen 20./21. Juni Anwendertreffen Verbindungsmittelachsen VBA Allgemein Die Verbindungsmittelachsen werden nun langsam erwachsen. Nach zwei Jahren Einführungszeit haben wir bereits viele Rückmeldungen mit Ergänzungswünschen

Mehr

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Die hohe Kunst der aromatischen Bohnenmischung oder Replikator: Einmal Kaffee, Brasilia Highland Blend, Heiß Motivation Bean = Komponente Datenbank Zielgruppe Kommerzielle Anwendungen

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

WinVetpro im Betriebsmodus Laptop

WinVetpro im Betriebsmodus Laptop WinVetpro im Betriebsmodus Laptop Um Unterwegs Daten auf einem mobilen Gerät mit WinVetpro zu erfassen, ohne den Betrieb in der Praxis während dieser Zeit zu unterbrechen und ohne eine ständige Online

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Fragen 2015. Arthur Zaczek. Apr 2015

Fragen 2015. Arthur Zaczek. Apr 2015 Arthur Zaczek Apr 2015 1 Ihre Fragen 2015 2 WPF 2.1 Code Behind Mit dem MVVM Pattern haben wir praktisch keinen Nutzen für das Code Behind der WPF Forms, sind diese dann eher für kleinere Applikationen

Mehr

Erfahrungen mit Hartz IV- Empfängern

Erfahrungen mit Hartz IV- Empfängern Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0) Erstellung von und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0) In der ArtemiS SUITE steht eine neue, sehr flexible Reporting-Funktion zur Verfügung, die mit der Version 5.0 noch einmal verbessert

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt OERA OpenEdge Reference Architecture Mike Fechner PUG Infotag 19. Mai 05 Frankfurt Überblick OERA Separated presentation and integration layers Common business logic with advanced models Data access abstracted

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Netzwerkversion PVG.view

Netzwerkversion PVG.view Netzwerkversion PVG.view Installationshinweise Einführung Die Programm PVG.view kann zur Netzwerkversion erweitert werden. Die Erweiterung ermöglicht, bestehende oder neu erworbene Programmlizenzen im

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

Mehr

Systemvoraussetzungen:

Systemvoraussetzungen: Systemvoraussetzungen: Allgemein Der rechnungsmanager ist eine moderne Softwarelösung, welche mit geringen Systemvoraussetzungen betrieben werden kann. Die Anwendung besteht u.a. aus den Modulen Server-Dienste

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall 5.0 10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows 7-Firewall konfiguriert und einige

Mehr

Architektur des agimatec-validation Frameworks

Architektur des agimatec-validation Frameworks Development : Implementierung Validierungskonzept (Dokumentation) This page last changed on Apr 03, 2008 by roman.stumm. Architektur des agimatec-validation Frameworks Generierung der Metainformationen

Mehr