Open Source Frameworks



Ähnliche Dokumente
Next generation open source BPM JBoss jbpm 4. Java Forum Stuttgart

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

Spring Dynamic Modules for OSGi Service Platforms

Java EE Projektseminar

Struts 2 Das Imperium schlägt zurück?

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Programmierung von Java- Webanwendungen. paluno

Enterprise Application Integration Erfahrungen aus der Praxis

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

Organisation und Systeme SOA: Erstellung von Templates für WebService Consumer und Provider in Java

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Business Applika-onen schnell entwickeln JVx Framework - Live!

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

SE2-10-Entwurfsmuster-2 15

Henning Mersch. Tomcat. im Rahmen des RBG-Seminar SS04. Apache-Jakarta-Tomcat-Server RBG-Seminar 1/17

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Dirk Reinemann Working Student Sales Consulting

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Spring Dynamic Modules for OSGi Service Platforms

Rechnernetze Projekt SS 2015

Eberhard Wolff. Spring. Framework für die Java-Entwicklung. "BJ dpunkt.verlag

Silverstripe CMS und das Sapphire Framework

Einsatz und Grenzen von Java Server Faces 2.0

IntelliJ IDEA. Gliederung. Was ist IntelliJ IDEA? Lizenzmodell Warum IntelliJ einsetzen? IntelliJ und Eclipse Demo. Blick über den Eclipse-Tellerrand

WS-Security. Thies Rubarth. Sicherheitskonzepte in global verteilten Anwendungen. 21. Sep 2007 ACM/GI Localgroup #216

JBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Java und XML 2. Java und XML

E-Business Architekturen

Softwareentwicklung mit Enterprise JAVA Beans

Hibernate Das Praxisbuch für Entwickler

APEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Anforderungsgetriebene Webentwicklung mit Grails:

CARSTEN EMRATH. Abschluss Diplom (FH) Fach Angewandte Informatik. Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.

Wiederholung: Beginn

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

Java Web Services mit Apache Axis2 Entwickler

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Gut zu wissen... Lorenz Keller Server Technologies Competence Center Nord

Internetanbindung von Datenbanken

Web 2.0 Architekturen und Frameworks

Web 2.0 und AJAX bei Austrian Airlines. Ceylan Özmen IT-Koordinatorin

Axis2, CXF und JAX-WS RI im Vergleich

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

MICHAEL RÜGER. Abschluss Diplom Fach Informatik. Geburtsjahr 1985 Profil-Stand April 2015

5. Programmierschnittstellen für XML

Kurzübersicht Diplomarbeit

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Content Management mit JSR-170 und dem Open Source CMS Magnolia

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Weblogic Server: Administration für Umsteiger

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar?

Oliver Paulus, 7. Februar Spring Framework Einführung. Oliver Paulus, Was ist Spring?

5. Programmierschnittstellen für XML

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Mitarbeiterprofil PG0225

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. Stand 2015/04. EPO Consulting GmbH - 1 -

SOA mit.net: Vom Geschäftsprozess zur Lösung

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

RIAS Kurzübersicht Software für das Revisionsmanagement V. 1.3

<Insert Picture Here> Schnelle Anwendungen mit Oracle Application Express

Java Web Services mit Apache Axis2

Axis2, CXF und JAX-WS RI im Vergleich

Architecture Blueprints

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

LIVE/11 - WEBSPECIAL. Andreas Förthner - Clemens Kalb

Komponenten & Hypermedia Seminar Prof. Dr. Frank Thiesing Struts Java-Framework für Web-Applikationen. Referenten: Fabian Bartelt Jens de Witt

SAP NetWeaver Gateway. 2013

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

Das Content-Management-System OpenCms im Vergleich mit TYPO3 und Joomla. Seminarvortrag von Wolfgang Neuß

PL/SQL Web-Services mit Oracle 11g

Workflow, Business Process Management, 4.Teil

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

RESTful Web. Representational State Transfer

Activiti vs. Oracle BPM Suite Duell auf Augenhöhe?

Evaluation von Open Source-Produkten zur Ausführung Web Service-basierter Geschäftsprozesse

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Konfiguration und Deployment einer hochverfügbaren ADF Anwendung

Contexts and Dependency Injection. W3L AG

Bachelorarbeit. Modellierung interaktiver Web Service Workflows. Thema: Benjamin Koch. von

Echolot Qualitätssicherung mit Sonar

Liste V Enterprise JavaBeans

Hivemind Ein leichtgewichteter Container

Business Process Management und Workflow-Technologien: Grundlagen, Produkte, Forschung Seminar

doubleslash Net-Business GmbH

BIS-Grid: Kommerzieller Einsatz von Grid-Middleware am Beispiel betrieblicher Informationssysteme. Prof. Dr. W. Hasselbring

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Transkript:

Open Source Frameworks codecentric GmbH Mirko Novakovic

Agenda 1. Vorteile von Open Source 2. Framework-Kategorien 3. Open Source Frameworks 4. Empfehlungen 1

1. Vorteile von Open Source 1.1 Offenheit 1.2 Community 1.3 Unabhängigkeit & Kosten 2

1.1 Vorteile von Open Source - Offenheit Offenheit der Sourcen Besseres Verständnis für die Funktion eines Frameworks Debugging der Frameworks Eigene Erweiterungen und Patches Offenheit des Entwicklungsplans Keine Marketing Releases Planungssicherheit Möglichkeiten der Mitbestimmung Offenheit des Fehler- und Changemanagement Systems Schnelle Suche bei Fehlern Direktes Feedback der Entwickler Voting für Priorisierung 3

1.2 Vorteile von Open Source Community Foren und Mailinglisten Schnelles Feedback bei Fragen und Problemen Erfahrung: Lösungen innerhalb von 24h - meistens Antworten innerhalb einer Stunde Direkter Kontakt zu Entwicklern Community Dokumentation Wikis mit Tips & Tricks Viele Bücher und Artikel über Open Source Frameworks Hohe Qualität durch hohe Nutzung Teilweise > 1.000.000 Downloads von Frameworks Hoher Verbreitungsgrad und Nutzung führen zu viel Feedback bei Fehlern und Changes und zu einer hohen Qualität Offenheit der Sourcen mit viel Feedback 4

1.3 Vorteile von Open Source Unabhängigkeit & Kosten Freie Wahl des Support und Service Dienstleisters Großes Angebot an Service, Support und Schulungen Comitter -Unternehmen mit hoher Qualität und Developer Support Kosten sind auch ein Faktor Open Source Frameworks haben keine Anschaffungskosten Kosten für Einarbeitung, Support und Schulungen sind aber trotzdem vorhanden 5

2. Framework-Kategorien 2.1 Framework Kategorien 6

2.1.1 Framework Kategorien Webframeworks Model-View-Controller (MVC) Komponenten View Komponenten Library Request Parser und Validierung Flow Konfiguration Templating AJAX Support Dependency Injection Frameworks Umsetzung eines Inversion of Control Containers Wireing und Konfiguration von Komponenten Management von Transaktion, Security, etc. 7

2.1.2 Framework Kategorien Business Frameworks Business Rule Engines für eine einfache Pflege, Verwaltung und performante Ausführung von Geschäftsregeln Business Process Engines für die Modellierung und Ausführung von Geschäftsprozessen. Insbesondere auch Task-Listen (Postkörbe) und asynchrone Verarbeitung von Prozessen. O/R Mapper Mapping von Objekten auf ein relationales Datenbank Modell Unterstützung von Relationen und Vererbungen CRUD Funktionalität Caching, Fetching Strategien, Typ-Mapping Support unterschiedlicher Datenbank Systeme und Dialekte 8

2.1.3 Framework Kategorien SOA Frameworks Remoting Frameworks, insbesondere SOAP Unterstützung Service Komponenten Frameworks Enterprise Service Bus Registry Utility Frameworks Logging Timer Caching XML Verarbeitung 9

3. Open Source Frameworks 3.1 Web Frameworks 3.2 Dependency Injection Frameworks 3.3 Business Frameworks 3.4 O/R Mapper 3.5 SOA Frameworks 3.6 Utility Frameworks 10

3.1.1 Webframeworks Struts http://struts.apache.com Apache Projekt mit sehr hoher Verbreitung Version 1.x klassisches Action basiertes MVC Framework Version 2.x Fusion mit WebWork zu einem modernen und erweiterbaren MVC Framework Große Auswahl an Template Technologien JSP, Freemarker, Velocity, Sehr gute Integration mit anderen Frameworks Spring Hibernate/EJB3 11

3.1.2 Webframeworks SEAM http://labs.jboss.com/jbossseam/ Ein Java EE 5 Framework Mehr als ein MVC Framework. Füllt die Lücke zwischen JSF und EJB3 im Java EE 5 Standard Annotation basiertes Dependency Injection Framework Eingebauter Support für AJAX (RichFaces) Integration vieler Standards und Frameworks EJB3/Hibernate jbpm JBoss Rules JSF/Facelets/RichFaces Groovy Support Caching (JBoss Cache) itext, WebServices, Email, Security 12

3.1.3 Webframeworks GWT http://code.google.com/webtoolkit/ AJAX basiertes Rich Internet Application Framework Entwicklung komplette in Java auf Basis einer Komponenten-Library Übersetzung der Anwendung in pures Javascript und HTML Kompatibel mit Standard-Browsern Debugging und JUnit Testing in Java möglich RPC Mechanismus für Kommunikation mit Java (Servlet Technologie) 13

3.1.4 Webframeworks Alternativen Apache MyFaces http://myfaces.apache.org/ JSF 1.2 Implementierung mit hoher Anzahl Komponenten Tapestry http://tapestry.apache.org/ Komponentenbasiertes Framework Erweiterung von HTML Tags Seiten bleiben durch Designer editierbar Spring MVC http://static.springframework.org/spring/docs/2.0.x/reference/mvc.html Action basiertes Framework auf Basis des Springframeworks Spring Web Flow Erweiterung einfach Steuerung von Anwendungen 14

3.2.1 Dependency Injection Frameworks Spring http://www.springframework.org/ Alternatives Framework zu Java EE POJO (Plain Old Java Object) basiert Inversion of Control Container Technologie XML basiertes Konfiguration und Wireing Defacto Standard im Java Enterprise Bereich 15

3.2.2 Dependency Injection Frameworks Guice http://code.google.com/p/google-guice/ Google Guice Annotation basiertes Dependeny Injection Framework Programmatisches Binding der Service Implementierungen Unterstützung von Scopes (Singleton, Session, etc.) Lazy Loading von Singletons AOP Support für Transaktionen, Security etc. 16

3.3.1 Business Frameworks Drools http://labs.jboss.com/drools/ Drools Business Rule Management System und Rule Engine Deklaratives Programmieren Editierbare Regeln durch fachlichen Anwendern inkl. GUI Separierung von Logik und Daten Hoch performant (Rete Algorithmus) und skalierbar 17

3.3.2 Business Frameworks jbpm http://labs.jboss.com/jbossjbpm/ JBoss jbpm Workflow Engine Grafischer Designer für Prozesse XML basierte Definition (jpdl) WS-BPEL Unterstützung Task Management (Postkorb) Synchrone und asynchrone Prozesse Integrierbar in eigenen Anwendungen 18

3.4.1 O/R-Mapping - Hibernate http://www.hibernate.org Hibernate O/R-Mapper mit Unterstützung von Vererbung, Polymorphismus, Assoziationen, etc. Tansparent Persistence : Der Entwickler programmiert unabhängig von der Persistenz gemäß OO-Paradigmen Eigene Abfragesprache HQL, SQL wird generiert Caching, Lazy Loading Implementiert JPA (Java Persistence Management API) Basis von EJB 3 19

3.4.2 O/R-Mapping - ibatis http://ibatis.apache.org/ ibatis Einfaches Datenmapping-Frameworks kein kompletter O/R-Mapper Mapping auf SQL / Stored Procedures in einer XML-Konfiguration Caching, Lazy Loading Unterstützt auch.net und Ruby 20

3.5.1 SOA Frameworks XFire/CFX http://incubator.apache.org/cxf/ XFire/CFX CFX ist Zusammenlegung von Xfire und IONA Celtix ESB Service Framework für Entwicklung von WebServices Protokolle: SOAP, XML/HTTP, RESTful HTTP und CORBA Standards: WS-Adressing, WS-Policy, WS-RM, WS-Security, JAX-WS Sehr gut Erweiterbar und Integrierbar Hohe Performance Intuitive und einfach Benutzbarkeit Code Generatoren für WSDL, XSD, Spring Integration RESTful Services über HTTP Binding 21

3.5.2 SOA Frameworks Axis2 http://ws.apache.org/axis2/ Axis2 WebService Engine mit hoher Verbreitung auch in kommerziellen Application Servern SOAP und ReST Unterstützung POJO Unterstützung für WebServices WS-Security, WS-ReliableMessaging, WS-Addressing, WS- Coordination und WS-Atomic Transaction 22

3.5.3 SOA Frameworks Mule http://mule.mulesource.org/ Mule ESB Enterprise Service Bus Synchrone und asynchrone Kommunikation Erweiterbares und offenes Konzept Unterstützung von POJOs, Spring, HiveMind und PicoContainer Transports: AS400 DQ, Email, File, Ftp, Imap, Multicast, JMS,VM, Servlet, SOAP, TCP, UDP, Support durch MuleSource http://www.mulesource.com Offene Transport Entwicklung in MuleForge http://www.muleforge.org/ 23

3.6.1 Utility Frameworks Apache Commons Logging Bietet eine einheitliche Schnittstelle für Logging in Java- Anwendungen Definiert Log-Level Level (ERROR, WARN, INFO, etc.) Implementierung des Loggings durch Konfiguration bestimmbar Standard-Java-API, Log4J, WebSphere-Logging, JBoss Cache Implementiert Caching von Java-Objekten über JVM-Grenzen hinweg Synchronisationsmechnismen und Protokolle konfigurierbar Basis für das JBoss-Clustering 24

3.6.2 Utility Frameworks Apache Xalan/Xerces Xerces : XML-Parser Xalan : XSLT-Engine Hoher Verbreitungs- und Bekanntheitsgrad XML-Processing des IBM-JDKs basiert auf Xalan/Xerces Opensymphony Quartz Bietet Scheduling-Mechanismen für Java Einsetzbar in Java SE und EE Konfiguration ähnlich wie cron itext Framework zur Erstellung und Manipulation von PDFs 25