ein Vortrag von Laurent & Mich

Slides:



Advertisements
Ähnliche Präsentationen
PHP Extension und Application Repository
Advertisements

Forschungszentrum Informatik
GWT - google Web Toolkit
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
www.materna.de1 Evaluierung einer aus Open Source Komponenten bestehenden J2EE Umgebung Marcus Jäger ~ Fachinformatiker Anwendungsentwicklung ~
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
Datenbankzugriff im WWW (Kommerzielle Systeme)
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Seite 1 Reinhard Huber Anna Völkl ITTBA Apache Tomcat Anna Völkl, Reinhard Huber
Erweiterung B2B Usermanagement / LDAP-Anbindung
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Testgetriebene Entwicklung
erasm platform Bild- / Galerieverwaltung
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Content-Management-System
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Eclipse - Entwicklungsumgebung und mehr ETIS SS05.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Web-Content-Management-System
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Coccon das Web-XML-Publishing System Thomas Haller.
TYPO3 Schulung Für Redakteure am IDS Mannheim
Herzlich Willkommen… welcome… soyez la bienvenue….
InfoPoint vom 9. November Was ist Joomla? Theorie Installation Extensions Administration Demo.
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
MDA – Framework AndroMDA
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
EJB-Applikationsserver
Java und Eclipse.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
EXist. Anforderungen - Java Development Kit (JDK) 1.6!!! - mit JDK 7 funktioniert es noch nicht -
Christian Krause, URZ Jena Bereich P – IDM Arbeitsgruppe
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Sesame Florian Mayrhuber
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Ihr Entwicklungs-Partner mit Nearshore-Kompetenz Stuttgart, INFOBEST Romania SRL.
Java Server Pages Sergej Keterling
FIN-IVS Dr.Fritz Zbrog Verteilte Systementwicklung EJB Tutorial Was wird für EJB-Entwicklung benötigt ? J2EESDK 1.4 (software developement kit)
Management- und Web Services- Architekturen
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Einführung in Web Services Web Services in der Praxis
Fred 2.0 Projektvorstellung Christoph Müller
Fred 2.0 Projektvorstellung Christoph Müller
CMS Content-Management-Systeme (CMS), dienen der Verwaltung und Pflege von Dokumenten und Inhalten in Inter- und Intranetanwendungen. Den Entwickler oder.
Enhydra Shark Workflow-Management Frank Aurich Markus Reisch.
Vassil Dimov.  Was ist Blue Age  Eigenschaften  Möglichkeiten  Hello World (Beispiel)  Entity Creation(Beispiel)  Benefit.
Eclipse – PHP Tool Integration (PTI) Sven Kiera, TWT Interactive GmbH.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
17. Januar 2006 Navigations- und Ortungssysteme Handy-Kompass Peter Ammon Michael Kaiser Thomas Zsebedits.
Datenbanken im Web 1.
Webserver, Apache und XAMPP
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
1 Einführung TOMCAT Entwicklung Technischer Informationssysteme SS 2003 Florian Müller.
IBM® WebSphere Portal, IBM WebSphere Portal solutions, and SOA Composite Applications Overview TIMETOACT Software & Consulting GmbH, Hermann.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Java 2 Enterprise Edition (J2EE) Sascha Baumeister Software Architect Specification Lead JSR086 IBM Deutschland Entwicklung GmbH
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Verteilte Anwendungen: J2EE
 Präsentation transkript:

ein Vortrag von Laurent & Mich Application Server ein Vortrag von Laurent & Mich

Produkt und Mitbewerber Repetitorium J2EE Architektur JBoss Inhalt Firmengeschichte Produkt und Mitbewerber Repetitorium J2EE Architektur JBoss Installation & Starten Integration JBoss in Java IDE Administrations-Tool Deployment Beispiel Buchladen Zukunft Motivation / Fazit Quellen

1999: Marc Fleury veröffentlicht den JBoss Application Server 1.0 Firmengeschichte Ziel der Produktentwicklung: Middleware-Stack zur Entwicklung komplexer Web-Anwendungen - Service-orientierte Architekturen (SOA) 1999: Marc Fleury veröffentlicht den JBoss Application Server 1.0 2001: Gründung der „JBoss Group Community“ 2004: Umformierung in „JBoss Inc.“ 2006: Übernahme durch Red Hat für 420 Millionen Dollar Die Übernahme durch Red Hat sollte es JBoss ermöglichen sich auf der ganzen Welt auszubreiten. Die zwei Hauptsitze liegen in Atlanta (USA) und Neuchâtel (Schweiz). Haupteinnahmequelle: JBoss Subscription, das kostenpflichtige Service- und Supportangebot (Support, Beratung, Schulung, Zertifizierung) Das Unternehmen hat 180 Mitarbeiter und 700 Support-Kunden Firmen-Leitbild: Produkt gratis, aber Finanzierung über Schulung/Support/Kurs/Beratung/Handbücher Zweite Generation der OpenSource Firmen Marc Fleury positioniert seine Firma als Open Source Unternehmung der zweiten Generation und erklärt dies wie folgt: „die erste Generation stellten Firmen wie Red Hat oder SuSE dar. Sie bannten eine Flut von Anwendungen auf eine CD welche sie mit der Wartungssoftware verkauften. Bei der zweiten Generation, welche eben durch JBoss aber auch z.B. MySQL dargestellt wird, organisieren sich die Entwickler, sie gründen ihre eigenen Firmen – was ihnen eine beträchtliche Glaubwürdigkeit vermittelt, wenn sie ihre Dienstleistungen anbieten. Ferner bieten diese Unternehmen eine Qualität welche in den Anfängen der Open Source Bewegungen nicht denkbar war. Firmen wie JBoss haben das Ziel „professionelle Open Source Software für eine breite kommerzielle Nutzung zu erstellen.

Volle zertifizierte Unterstützung der J2EE 1.4 Spezifikation JBoss Produkt Volle zertifizierte Unterstützung der J2EE 1.4 Spezifikation Volle Unterstützung der J2EE WebServices und der Service Oriented Architecture (SOA) Open Source unter LGPL  GNU Lesser General Public License  weniger restriktiv wie GPL kein Community Projekt: die Entwicklung wird massgeblich durch bei JBoss angestellte Vollzeit-Entwickler vorangetrieben und koordiniert. aktuell: JBoss Application Server 4.0.4 (Mai 2006) JBoss AS 5.0 voraussichtlich noch dieses Jahr (J2EE5.0, erneuerter Microkernel, neue Services) 1.0 Feb 2000 EJB Container 2.0 Nov 2000 J2EE 1.2 3.0 Mai 2002 J2EE 1.3 4.0 Sep 2004 J2EE 1.4 5.0.α Feb 2006 J2EE 5.0

OpenSource ClosedSource Mitbewerber OpenSource ClosedSource

Repetitorium J2EE Servlets: Verarbeitung von Request/Response mit reinem Java-Code JSP: HTML-Code mit JSP-Tags, i.R. Präsentationsschicht, zur Laufzeit in Servlets übersetzt Java Beans: Java-Klasse mit Getter-/Setter-Methoden (Kapselung eines Objektes) JNDI: Namensdienst für entfernte Objekte, vergleiche RMI Entity Beans repräsentiert Objekte (Buch), Persistenz mittels Datenbank gewährleistet Session Beans: Geschäftsprozesse (Buch kaufen) Web-Container: führt Servlets und JSP aus Ejb-Container: verwaltet Session- und Entity-Beans

Komponenten von JBoss JBoss Application Server: J2EE based Tomcat (JSP/Servlet/Web server) Hibernate (O/R Mapping solution) JBossCache (Distributed data) JGroups (Reliable multicast and cluster communication) Nukes (JBoss portal and CMS) JBoss jBPM JBoss Microcontainer JBoss Management Console

Installation & Starten JBoss Voraussetzung: JDK >=1.4 für JBoss 4.x Installation: jboss.zip entpacken oder Setup Jboss.jar ausführen (eigenes Profil anlegen möglich) Eigenes Profil anlegen (optional): Copy default z.B. nach produktiv JBoss starten: %JBOSS%\bin\run.bat [-c produktiv] (für optionales Profil) Erfolgreicher Start: … INFO [Server] JBoss (MX MicroKernel) … Started in 57s:232ms JBoss stoppen: Ctrl-C oder %JBOSS%\bin\shutdown.bat

Wichtigsten JBoss-Verzeichnisse \bin: JBoss Start- und Stop-Skripte \client: enthält Libraries für Clients (z.B. jbossall-client.jar, log4j.jar) \docs: enthält Grammatiken für die Deployment-Deskriptoren \lib: enthält die allgemeinen JBoss-Archive (Kernel) \server: - hier liegen die verschiedenen Konfigurationen: default, minimal, all, … - server\<Konfig>\log: jede Konfiguration hat ihr log-Verzeichnis - server\<Konfig>\conf: Core-Services Konfiguration (jboss-server.xml, …) - server\<Konfig>\deploy: enthält die eigenen Deployments (EAR-File, …) Hinweis: default\deploy\jbossweb-tomcat.sar\server.xml um den Standard-Port 8080 zu ändern

Integration JBoss in Java IDE IntelliJ IDEA (kostenpflichtig) + Plugin JBoss Eclipse-Plugin (ca. 80MB) JBoss Eclipse IDE Bundle (Eclipse 3.x inkl. JBoss Plugin) Assisi OPEN WORKBENCH J2EE 3.1 Assisi Software Verlag, EUR 39.90, Eclipse 3.1, JBoss AS 3.2, Tomcat 4, Apache WebServer 1.3, MySQL 4, Java SE 1.4, PHP 4.3, Lomboz 3.0, J2EE Tools Eclipse Web Tools Platform (WTP) J2EE Environment, Eclipse Unterprojekt Lomboz J2EE Environment, Open Source, basiert auf Eclipse Sun NetBeans (Entwicklungsumgebung) alle Werkzeuge inkl. Appl.Server IBM Webshere Application Developer (WSAD) [Eclipse + Erweiterungen] XDoclet, Annotations

Integration JBoss in OpenWorkbench (Eclipse) /** * <!-- begin-user-doc --> A generated session bean <!-- end-user-doc --> * <!-- lomboz.beginDefinition --> <?xml version="1.0" encoding="UTF-8"?> <lomboz:EJB xmlns:j2ee=http://java.sun.com/xml/ns/j2ee xmlns:lomboz="http://lomboz.objectlearn.com/xml/lomboz"> <lomboz:session> <lomboz:sessionEjb> <j2ee:display-name>MyBookStoreStatelessSession</j2ee:display-name> <j2ee:ejb-name>MyBookStoreStatelessSession</j2ee:ejb-name> <j2ee:ejb-class>mybookstore.MyBookStoreStatelessSessionBean</j2ee:ejb-class> <j2ee:session-type>Stateless</j2ee:session-type> <j2ee:transaction-type>Container</j2ee:transaction-type> </lomboz:sessionEjb> </lomboz:session> </lomboz:EJB> <!-- lomboz.endDefinition --> * * <!-- begin-xdoclet-definition --> * @ejb.bean name="MyBookStoreStatelessSession" * jndi-name="MyBookStoreStatelessSession" * type="Stateless" * transaction-type="Container" * <!-- end-xdoclet-definition --> * @generated */ public abstract class MyBookStoreStatelessSessionBean implements javax.ejb.SessionBean

Integration JBoss in OpenWorkbench (Eclipse) (II)

Administrations-Tool JBoss-Welcome Seite: http://localhost:8080 JMX-Konsole (Hauptseite): http://localhost:8080/jmx-console Administration (Beispiele): - Hypersonic DB - welche Applikationen verfügbar - Speicherauslastung der JVM Fazit: - gewöhnungsbedürftig - alte, nicht attraktive Darstellung

JMX, MBeans und JMX-Agent JMX (Java Management Extension) J2EE-API ein Standard zur Verwaltung und Überwachung von Ressourcen (Software- und Hardwarekomponenten) aus Java heraus. Unterstützt das Einbetten von Modulen, Containern und Plugins Bus, an den einzelne Komponenten angeschlossen werden MBean (Managed Bean) MBeans abstrahieren konkrete Ressourcen (z.B. Hypersonic-DB) MBean definiert: Attribute, Funktionen, Events einer Resource Die MBean wird beim MBean-Server registriert. Der MBean Server und die Services bilden zusammen den JMX Agent. Die MBeans werden mittels des JMX-Agents den sogenannten JMX-Anwendungen zur Verfügung gestellt.

Undeploy und Redeploy möglich Deployment nur wenige Deployment Deskriptoren sind spezifisch pro Application Server (jboss-web.xml, …), der Rest gilt allgemein zeitgemässe Entwicklungsumgebungen erstellen automatisch die notwendigen Deskriptoren Deployment besteht aus Kopieren des EAR-Files ins deploy-Verzeichnis der entsprechenden Konfiguration (laufender Server muss nicht gestoppt werden) Undeploy und Redeploy möglich

Beispiel - Buchladen Keine JBoss spezifischen Tags im eigenen Source-Code enthalten JBoss starten Deployment der EAR vor dem Starten von JBoss oder während dem laufenden Betrieb möglich Über JMX-Konsole die HSQL-DB zeigen (2 Kunden vor der Bestellung  3. Kunde nach der Bestellung) Umsetzung des Beispiels stark abhängig von der eingesetzten Entwicklungsumgebung

Beispiel – Buchladen (II)

JBoss Application Server 4.0 versus 5.0 - JBoss pusht die aspektorientierte Programmierung Update von J2EE 1.4  1.5 JMX-Container  POJO-Container Heute: JMX- Mikrokernel Zukunft: POJO-Microkernel

JEMS Roadmap 2006 (Stand 12/2005) JEMS (JBoss Enterprise Middleware System ) JBoss verfolgt Service-Oriented Architecture (SOA) Strategie. Div. Projekte rund um den JBoss AS zu einer Integrationsplattform zusammenführen. EJB 3.0 POJO-Container ersetzt JMX-Container JBoss 5 AS Bessere Integration von Web-Services Erweiterung von JBoss mit neuen Komponenten JBoss Portal (Content-Management-System, Java Portlet API, Single-Sign on, JSF, MyFaces und Spring MVC) JBoss Transactions (Transaktionsmanagement) JBoss Rules (Business Rules Engine in serviceorientierten Architekturen [SOA]) JBoss jBPM (Business Process Management System) Workflow-Engine Hibernate Persistenz-Layer JBoss IDE eine Entwicklungsumgebung auf Basis von Eclipse JBoss Cache, die eine Caching-Technologie JBoss AOP-Framework (Framework für aspektorientierte EJB-Anwendungen) Seam (Web 2.0 Framework) AJAX, JSF EJB 3.0, Java-Portlets, Java EE 5 ESB (Enterprise Service Bus) SOA-Plugin Mechanismus

Motivation / Fazit Vorteile: J2EE bietet ein API welches die verschiedenen Konzepte von Unternehmensanwendungen standardisiert: Sicherheit Persistenz SW-Verteilung Kostenaspekt Stabilität (verglichen mit anderen Application-Servern) gute Integration mit weiteren Open Source Projekten (Hibernate, JBoss Portal, …) hohe Entwicklerproduktivität (Problemstellung schnell umsetzbar) Nachteile: hohe Komplexität lange Einarbeitungszeit Erfahrung notwendig Debuggen von Servlets und vor allem JSP ist mühsam Warum soll JBoss in einem Projekt eingesetzt werden? Siehe Seite 2 J2EE und JBoss Open-Source J2EE 1.4 Zertifiziert

[2] Wikipedia (http://de.wikipedia.org/wiki/JBoss_Application_Server) Quellen - Links [1] JBoss - The Professional OpenSource Company (http://www.jboss.org/ oder http://www.jboss.com) [2] Wikipedia (http://de.wikipedia.org/wiki/JBoss_Application_Server) [3] Eclipse Platform (http://www.eclipse.org/) [4] XDoclet (http://xdoclet.sourceforge.net/) [5] Wolfgang Knaufs Fundgrube (http://www.informatik.fh-wiesbaden.de/~knauf/) [6] PlugIn for IntelliJ Idea (http://plugins.intellij.net/plugin/?id=218) [7] Tutorial PlugIn IntelliJ Idea (http://www.fuhrer.com/en/jbossplugin/index.html)

[1] J2EE mit Eclipse 3 und JBoss, Hanser Verlag, Ramin Assisi Quellen - Bücher [1] J2EE mit Eclipse 3 und JBoss, Hanser Verlag, Ramin Assisi ISBN 3-446-22739-3 [2] J2EE und JBoss, Hanser Verlag, Torsten Langner ISBN 3- 446-40508-9 [3] JBoss, D. Verlag, Heiko W. Rupp ISBN 3-89864-318-2

Lizenzstreitigkeiten Im September 2005 entflammen hitzige Diskussion über die Lesser GPL. Grund: der frühere JBoss-Projektpartner Rickard Öberg macht Ansprüche geltend. Rickard beansprucht für sich zentrale Quelltext-Fragmente des JBoss-Codes. LGPL räumt jedem Contributor sämtliche Rechte an seinen Code-Fragmenten ein. Rickard fordert die Wandlung seiner Sourcen von LGPL nach GPL. Betroffen wären alle zukünftigen JBoss-Versionen – bisherige nicht Mittlerweile ist es allerdings ruhig geworden um diese Auseinandersetzung. JBoss hat rechtliche Schritte gegen seine Partner eingeleitet, weil diese angeblich die Marke "JBoss" und die damit verbundene Software unerlaubt verwendet haben. Kritiker befürchten, dass dies nur der erste Schritt hin in Richtung einer "Patentierung" von Open-Source-Komponenten darstellt.