Technische Open Source Komponenten implementieren die Referenzarchitektur Quasar ISOS 2004



Ähnliche Dokumente
10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java)

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

Technische Open Source Komponenten implementieren die Referenzarchitektur Quasar

7. Komponenten Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Java EE Projektseminar

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

ORACLE Business Components for Java (BC4J) Marco Grawunder

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Spring Dynamic Modules for OSGi Service Platforms

SAP NetWeaver Gateway. 2013

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

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

SAP SharePoint Integration. e1 Business Solutions GmbH

Softwareentwicklung mit Enterprise JAVA Beans

Open Source als de-facto Standard bei Swisscom Cloud Services

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

Java Enterprise Architekturen Willkommen in der Realität

Viele gute Stellen sind frei. Besetzen Sie eine.

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

Design Patterns 2. Model-View-Controller in der Praxis

MHP Mobile Business Solution Ihre Prozessoptimierung, um ortsunabhängig flexibel und hoch produktiv zu agieren!

OpenSource bei PostFinance Einsatz in der Software Entwicklung. informativ

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

Festpreisprojekte in Time und in Budget

Der lokale und verteilte Fall

INDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH

Übungen zur Softwaretechnik

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

Objektorientierte Programmierung

Komponentenbasierter Taschenrechner mit CORBA

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

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

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

Jürgen Schwab, debis Systemhaus

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

IT works unlimited GmbH & Co. KG

EAI - Enterprise Application Integration

IT mit klarer Linie. C R M - M i g r a t i o n. informatik ag. ilum:e informatik ag. Customer Relationship Management Migration

Weniger ist mehr... Mobile Datenerfassung unter SAP:

Der sd&m-ansatz für serviceorientierte Architektur Quasar Enterprise

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

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

Referenzen. Application Management. München, Oktober 2015

Ereignisgesteuertes Ressourcenmanagement mit der Oracle SOA-Suite

SE2-10-Entwurfsmuster-2 15

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Entwicklung von Web-Anwendungen auf JAVA EE Basis

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

1. Einführung Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

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

Übungen zu Softwaretechnik

OS in mittelständischen Unternehmen

Softwareentwicklung mit JAVA EE

IVS Arbeitsgruppe Softwaretechnik Abschnitt Management komplexer Integrationslösungen

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

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

ADVISOR - Moodle: Eine E-Learning Anwendung mit eduweaver. Sabrina Fochler Universität Wien. 15. September, 2006

Inhaltsverzeichnis. Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

BI in der Cloud eine valide Alternative Überblick zum Leistungsspektrum und erste Erfahrungen

Architektur von Business Apps

BAT 04: Integration von Workflow- Management-Systemen in der Praxis. Referent Tillmann Schall

ANYWHERE Zugriff von externen Arbeitsplätzen

Intelligente Updateverwaltung Inventarisierung von Softwareprodukten Remoteunterstützung, mobile Endgeräte u.v.m.

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

Mission. TARGIT macht es einfach und bezahlbar für Organisationen datengetrieben zu werden

Neue Funktionen in Innovator 11 R5

Luca Piras SharePoint Specialist it-function software GmbH

SOA im Zeitalter von Industrie 4.0

Architekturplanung und IS-Portfolio-

ObjectBridge Java Edition

MetaModules. explore the power of integration

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

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

Xpert.IVY das GUI ist entscheidend!

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

Team Collaboration im Web 2.0

! "# $% &'!( $ ) *(+,(,-

Die Portal-Infrastruktur service.brandenburg.de als Basis für den Einsatz von dienste orientierten Lösungen in der Verwaltung

Reporting Services und SharePoint 2010 Teil 1

Vortrag von: Ilias Agorakis & Robert Roginer

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

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

Einheitliche Verwaltung von Soft- und Hardware mobiler Geräte

3 Anwendungsarchitektur und Entwicklungsumgebung

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Online Banking System

Model Driven Development im Überblick

Sicherheitsanalyse von Private Clouds

Workflow Systeme mit der Windows Workflow Foundation

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

Vorwort Azure Cloud Computing mit Microsoft Danksagungen Kontakt zum Autor... 13

Webcast-Serie IT Transformation in die Cloud, Teil 2. Private Cloud & SaaS Konzepte und deren Anwendung. Henning von Kielpinski (ConSol* GmbH)

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

SOA - Service-orientierte Architekturen. Roger Zacharias

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen

Seminare Softwaretechnik - Einführungsveranstaltung

Prinzipien Objektorientierter Programmierung

Transkript:

Technische Open Source Komponenten implementieren die Referenzarchitektur Quasar ISOS 2004 A Company of Dr. Bernhard Humm, sd&m Research Bremen, 17. September 2004

Abhängigkeitsgraph im OO-Betriebssystem Taligent Wo ist hier die Architektur? Erich Gamma, "100 OO Frameworks, Pitfalls and Lessons Learned", 1997 sd&m AG, 17.09.2004, Seite 2

Agenda Quasar-Prinzipien und -Architektur Quasar-Komponenten Fazit sd&m AG, 17.09.2004, Seite 3

Quasar-Prinzipien und -Architektur Quasar besteht aus Prinzipien, Architektur und Komponenten Quasar Prinzipien Architektur Komponenten Einfachheit Trennung von Zuständigkeiten; Softwarekategorien Komponenten und Schnittstellen Sachgemäße Behandlung von Fehlern und Ausnahmen Anwendungsarchitektur, technische Architektur und technische Infrastruktur Referenzarchitekturen, Interfaces für technische Dienste Leitfaden für die Parallelisierung bei der Entwicklung QuasarPersistence QuasarViews QuasarAuthorization hibernate weitere Produkte Expertise im Team: Schools, Architektur- und Quasar-Communitiy sd&m AG, 17.09.2004, Seite 4

Quasar-Prinzipien und -Architektur Quasar ist eine Referenzarchitektur für betriebliche Informationssysteme cd Quasar Architecture «T Service» Client Management «A Component» Dialog Trennung von Anwendung ( A-Software ) und Technik ( T-Software ) «T Service» Application Component Management «A Component» Application Component «T Service» Authorization Identifikation der wesentlichen technische Dienste Alternatives «T Service» Transaction ResourceHandling «T Service» Persistence sd&m AG, 17.09.2004, Seite 5

Technische Dienste werden durch minimale Schnittstellen spezifiziert Quasar-Prinzipien und -Architektur cd Persistence Interfaces Transaction «T Service» Transaction ResourceHandling «A Component» Application Component Pool Query «T Service» Persistence interface Pool { public Object make Class instancetype) public void delete (Object pooledobject) public Query definequery (Object querydefinition) } interface Query { public Object execute Object[] arguments) } sd&m AG, 17.09.2004, Seite 6

Agenda Agenda Quasar-Prinzipien und -Architektur Quasar-Komponenten Fazit sd&m AG, 17.09.2004, Seite 7

Quasar-Komponenten implementieren die technischen Dienste der Quasar-Architektur Quasar-Komponenten cd Quasar Components «T Component» Quasar Views «T Component» Quasar Process «A Component» Dialog «T Component» Quasar ApplicationComponents «A Component» Application Component «T Component» Quasar Authorization Entwicklung technischer Komponenten Quasar-Komponenten passen zur Quasar- Architektur Einsatz in 17 Projekten, davon 8 produktiv (Stand 9/2004) Support durch Community Alternatives «T Component» Quasar LocalTransaction «T Component» Quasar Persistence sd&m AG, 17.09.2004, Seite 8

Quasar-Komponenten Die QuasarPersistence ist ein optimierter O/R Mapper seine Funktionalität ist mit kommerziellen Produkten vergleichbar Contact Name ZIP City Street Java Klassen (Persistent) TypeModel RelationshipModel... CTCT_ID CTCT_NAME... DB-Tabellen AttributeModel TableModel :: Identifier :: ZipCode :: LongString :: LongString 1 Invoice Price TypeMapping 0..N AttributeMapping... Abbildungsmodell :: Money INV_ID CTCT_ID... Hochoptimierte Object / Relational Mapping Komponente Optimistisches und pessimistisches Sperren; Lazy und Eager Loading; OQL Query Schnittstelle Unterstützung für Oracle, SQLServer, DB2, mysql Modellierungswerkzeug MWB 350 Klassen, 2MB Source Code Veröffentlicht unter www.openquasar.de sd&m AG, 17.09.2004, Seite 9

Quasar-Komponenten QuasarPersistence implementiert das Interface Pool package com.sdm.quasar.persistence; public interface Pool extends NamedObject { } public abstract Persistent make( Class instancetype, Object[] primarykey, LockMode lockmode) throws PersistenceException; public abstract void delete( Persistent persistent, int timeout) throws PersistenceException; public abstract void lock ( Persistent persistent, LockMode lockmode, int timeout) throws PersistenceException; public abstract void store(persistent persistent) throws PersistenceException; package com.sdm.quasar.persistence.query; public interface QueryManager { } public abstract PreparedQuery preparequery ( Pool pool, LockMode lockmode, int timeout, String oql) throws PersistenceException; public interface PreparedQuery { public abstract QueryResult execute( Implementierung der Semantik der Schnittstellen; Syntax kann sich unterscheiden, z.b. definequery vs. preparequery Erweiterung der minimalen Schnittstellen für spezifische Situationen, z.b. lock Komfort-Methoden, z.b. queryone Konkretisierung der Parameter, z.b. OQL- String sd&m AG, 17.09.2004, Seite 10

Agenda Agenda Quasar-Prinzipien und -Architektur Quasar-Komponenten Fazit sd&m AG, 17.09.2004, Seite 11

Fazit Fazit Eine gute Architektur ist ein wesentlicher Erfolgsfaktor für die effiziente und sichere Entwicklung von Software mit hoher Qualität. Die Quasar- Architektur destilliert Architekturwissen für betriebliche Informationssysteme aus mehreren tausend Bearbeiterjahren Projekterfahrung Quasar-Komponenten implementieren die wesentlichen technischen Dienste der Quasar-Architektur. Die Quasar-Architektur ist Programm für die Komponenten-Entwicklung. Zahlreiche Referenzen belegen den Erfolg der Quasar-Komponenten Für die Entwicklung der Quasar-Komponenten werden bevorzugt Open-Source Lösungen eingesetzt. Ausgewählte Quasar- Komponenten sind unter www.openquasar.de veröffentlicht. Das gibt den Kunden rechtliche Sicherheit und erhöht die Attraktivität aufgrund der Herstellerunabhängigkeit und entfallender Lizenzkosten sd&m AG, 17.09.2004, Seite 12

Anhang sd&m AG, 17.09.2004, Seite 13

Die QuasarViews bilden einen in der Praxis erprobten Rahmen für die GUI Entwicklung View View Datenobjekt Visualizer View Datenobjekt Visualizer View Datenobjekt Visualizer View Nünninghoff Klaus Herr Max-Planck-Str. 39 A 50858 Köln Architekturrahmen für die Entwicklung von graphischen Benutzeroberflächen (GUI) Implementiert Quasar- Referenzarchitektur für Clients Multichannel-Architektur: verwendbar für native Clients (z.b. Swing) und Web Clients (z.b. wings) Hierarchisch schachtelbar; modellgesteuerte Nutzung möglich (ModelViews) 200 Klassen, 1,1 MB Source Code sd&m AG, 17.09.2004, Seite 14

Die QuasarAuthorization erlaubt Berechtigungsprüfung beliebiger Granularität und Komplexität Schutzobjekte Komponente zur Authentifizierung und Autorisierung Authentifizierung, Autorisierung Zugriff Zugriffsrechte LDAP-Anbindung möglich Feingranulare Autorisierung auf Daten- und Funktionsbasis möglich Flexible Rechtedefinition über Benutzergruppen Nutzer Dialoge zur Administration in Arbeit 150 Klassen, 800 KB Source Code sd&m AG, 17.09.2004, Seite 15

Quasar-Architektur und Komponententechnologien Komponenten-Technologien CORBA: Herstellerunabhängige OMG Spezifikation von Architektur und Infrastruktur zur verteilten Verarbeitung von Anwendungen J2EE: Sun Standard zur Entwicklung komponentenbasierter, mehrschichtiger Geschäftsanwendungen.NET: Zusammenfassung von Software- Technologien von Microsoft für die verteilte Verarbeitung zwischen Systemen und Geräten Herstellerunabhängig Quasar Technikunabhängig: Trennung von Anwendung und Technik als tragendes Prinzip Konkrete Hilfestellungen bei der Konstruktion betrieblicher Informationssysteme, also der Komposition von fachlichen und technischen Komponenten zu einer Anwendung Referenzarchitekturen für Einbettung in Komponenten-Technologien, z.b. für EJB Quasar ist keine Konkurrenz zu Komponenten-Technologien, sondern hilft, konkrete Komponententechnologien effektiv einzusetzen, ohne sich davon abhängig zu machen Quasar konkretisiert Blue Prints von Komponententechnologien für betriebliche Informationssysteme sd&m AG, 17.09.2004, Seite 16

Quasar-Komponenten und Produkte Produkte für technische Dienste Komponententechnologien werden durch Produkte implementiert, z.b. J2EE durch IBM WebSphere und BEA Weblogic Produkte implementieren einzelne technische Dienste, z.b. TOPLink den Persistenz-Dienst Open-Source Projekte implementieren Komponententechnologien, z.b. JBOSS, und einzelne technische Dienste, z.b. hibernate Quasar-Komponenten Quasar-Komponenten komplettieren das Produktangebot für technische Dienste, zu denen noch keine Lösungen etabliert sind, z.b. QuasarViews Quasar-Komponenten erweitern wo notwendig die Flexibilität existierender Produkte, z.b. QuasarAuthorization Quasar-Komponenten lassen gemäß der Quasar- Architektur in Produkte integrieren, z.b. QuasarPersistence in J2EE Application Server Quasar-Komponenten sind keine Konkurrenz zu Produkten für technische Dienste, sondern komplettieren diese und lassen sich anhand der Quasar-Architektur mit diesen integrieren sd&m AG, 17.09.2004, Seite 17

Eine Auswahl von bedeutenden Entwicklungsprojekten Kunde Projekt System for Asset Management (SAM) Kernsystem zur Verwaltung von Portfolios und zur Unterstützung der Depotbankfunktion (53 Bearbeiterjahre) Großer Logistik- Dienstleiter Internationales Fährunternehmen Bayerisches Geologisches Landesamt Auftragsmanagementsystem Übergreifende Service-orientierte Anwendung für die kundengebundene Auftragsdatenverarbeitung (32 Bearbeiterjahre, 50 Mitarbeiter) Customer Oriented Advanced Service and Transport System Verwaltung von Produkten, Preisen, Buchung von Services, Ausstellen und Einlösen von Tickets (30 Bearbeiterjahre). Bodeninformationssystem (BIS) Bodeninformationssystem mit Raumbezug (GIS-Funktionalität) zur Erfüllung des Bodenschutzgesetzes (15 Bearbeiterjahre) Verkäuferlaptop (VKL) Ablösung des bisherigen Verkäuferlaptops für MB-Pkw mit mobiler Online- Anbindung (9,5 Bearbeiterjahre) Operative Risiken Anwendung zur Verwaltung und Bewertung von Operativen Risiken und tatsächlich aufgetretenen Schadensfällen (3 Bearbeiterjahre) sd&m AG, 17.09.2004, Seite 18

Kurzvorstellung sd&m sd&m Research ist unser Think-Tank Projekte Research Quasar-Architektur Integrationsprojekte Effizientes Projektmodell Projekte Technologische Trends SOA und MDA NetWeaver Mobility Ausbildung Designer School Specification School Projektleiter School Communities Business Intelligence Portale Enterprise Integration Komponenten Professionelle Implementierungen Open Source Wissensmanagement Kultur des Wissensaustausches Wissensmanager WM-Werkzeuge sd&m AG, 17.09.2004, Seite 19

... und das Ganze gibt es auch als Buch Aus dem Inhalt: Softwarearchitektur als Herausforderung Klassen und Schnittstellen Komponenten und Schnittstellen Softwarekategorien - wie findet man Komponenten Fehler und Ausnahmen - Rechte und Pflichten Spezifikation von Schnittstellen Softwarearchitekturen Anwendungskomponenten und Anwendungskern Pools, Persistenz und Transaktionen Architekturen grafischer Bedienoberflächen Über den Autor Prof. Dr. Johannes Siedersleben vertritt an der FH Rosenheim das Fachgebiet Software-Engineering und ist wissenschaftlicher Leiter von sd&m Research, der Forschungsabteilung von sd&m. Er studierte Mathematik mit Nebenfach Informatik in Karlsruhe und Grenoble. sd&m AG, 17.09.2004, Seite 20