Architekturmuster im Umfeld mobiler Anwendungen

Größe: px
Ab Seite anzeigen:

Download "Architekturmuster im Umfeld mobiler Anwendungen"

Transkript

1 1 Architekturmuster im Umfeld mobiler Anwendungen D. Geppert Hochschule Offenburg Seminar Neue Technologien Badstraße 24, 77652, Offenburg 2011 Abstract Im Umfeld mobiler Anwendungen entstehen ständig neue Anforderungen an die Architekturen der Software. Mit den bereits bekannten Mustern ist es nicht weiter möglich die aktuellen Belange der Softwareentwicklung ausreichend abzudecken. Dies macht es erforderlich neue Architekturen für die Entwicklung im Umfeld mobiler Anwendungen einzusetzen. Die neuen Applikationen im Bereich des mobilen Sektors, können den Erwartungen mit aktuell vorhanden Architekturen nicht gerecht werden. Um dieser Problematik entgegen zu wirken, wurden bestehende Muster wie das bewährte Client/Server oder Broker Prinzip angepasst und in das mobile Umfeld übernommen. Gleichzeitig entstehen jedoch auch neue Architekturen wie zum Beispiel der Einsatz von mobilen Programmierschnittstellen oder temporären Peer-to-Peer Netzwerken. I. EINLEITUNG Ein Architekturmuster spiegelt die Unterteilung eines Softwaresystems in Komponenten auf oberster Ebene wieder und stellt deren Interaktion untereinander dar. Dies beschreibt die Grundstruktur einer komplexen Anwendung, während Entwurfsmuster mehr Beschreibungsmuster für jene Probleme sind, die unmittelbar bei der Implementierungsphase auftreten und sich daher nur auf einzelne Teilaspekte beziehen [Eri94]. Beide Arten von Mustern versuchen in ihren Ansätzen bestehende Entwurfsprobleme durch bereits bewährte Vorgehensweisen zu lösen, soweit dies der gegebene Kontext zulässt. Das Ziel ist, am Ende ein Softwaresystem zu erhalten, das wartbar, übersichtlich, testbar und wiederverwendbar ist. Hierbei ist stets nach Situation abzuwägen, ob es sinnvoll ist, ein solches Muster einzusetzen, da diese in den meisten Fällen Seiteneffekte mit sich bringen. Das können unter anderem eine längere Laufzeit, größere Komplexität, höherer Speicherbedarf oder zusätzlicher Kommunikationsaufwand sein [Mar02]. II. BASIS-MUSTER Die sogenannten Basis-Muster sind später in anderen Mustern wieder anzutreffen, da sie auch in verteilten Systemen den Grundaufbau der einzelnen Komponenten definieren. Diese grundlegenden Architekturmuster, welche in den meisten Anwendungen aufzufinden sind, lassen sich dabei in folgende grundlegende Bereiche unterteilen. A. Schichten-Architektur Eine Schichten-Architektur verfolgt das Ziel, komplexe Anwendungen in logische Schichten aufzuteilen. Die Komponenten einer Anwendung werden hierbei übereinander angeordnet.

2 2 Die Kommunikation zwischen den Schichten erfolgt ausschließlich über die zuvor definierten Schnittstellen [Ste08]. Jede Komponente darf nur auf Komponenten der gleichen beziehungsweise einer darunter liegenden Schicht zugreifen. Die überwiegende Mehrheit aller Anwendungen ist nach dem Prinzip einer Schichten- Architektur aufgebaut. Nachfolgend wird auf die verschiedenen Aufteilungsmöglichkeiten der einzelnen Komponenten (Präsentationsebene, Geschäftsebene und Datenebene) näher eingegangen. 1) Ein-Schicht-Architektur: Alle drei Ebenen werden in einer einzelnen Komponente zusammengefasst. Dies ermöglicht eine zentrale Administration. Bei größeren Anwendungen ist der Einsatz jedoch nicht gebräuchlich, da keine Schnittstellen definiert sind und die Wartung sich auf Grund der Komplexität schwierig gestaltet. 2) Zwei-Schicht-Architektur: Es findet eine Aufteilung zwischen Präsentations- /Geschäftsebene und Datenebene statt. Bedingt dadurch, dass stets nur eine darüber liegende Schicht auf eine darunter liegende zugreift, fungiert die Datenebene (zum Beispiel ein SQL Server) als Dienstanbieter und die darüber liegende Schicht als Client. Die Daten liegen bei dieser Architektur zwar zentral vor, jedoch befinden sich die Datenbankregeln auf dem Client. Eine Änderung der Datenbanklogik müsste daher an jedem Client gleichermaßen vollzogen werden, was bei größeren Strukturen zu erheblichem Aufwand führen kann. 3) Drei-Schichten-Architektur: Komplexe Anwendungen bestehen in den meisten Fällen aus einer Drei-Schichten-Architektur. Hierbei wird die Verarbeitungslogik des Anwendungssystems laut [Jör03] einer separaten Schicht zugeordnet. Die Präsentations-/Geschäftsebene wird aufgeteilt um eine Logikschicht (Bussiness Layer wie in Abbildung 1) zwischen Präsentationsebene und Datenebene zu platzieren. Jede Komponente besitzt nun eine eigene Schicht. Oft werden einzelne Teile auch redundant ausgelegt um die Performance zu steigern und / oder die Ausfallsicherheit zu erhöhen. Die Wartbarkeit der Anwendung steigt, da zentrale Änderungen an der Datenbanklogik möglich sind. Die verschiedenen Schichten sind voneinander getrennt, was einen modularen Aufbau ermöglicht. Durch die lose Architektur ist die Präsentationsebene von der Anwendungsebene, die Anwendungsebene von der Datenbankverwaltungsebene entkoppelt und erfüllt nach [Mic06] folgende Rahmenbedingungen: Integration unterschiedlicher Systemkomponenten, Fusion unterschiedlicher Plattformen, Vereinigung verschiedener Protokolle, hohe Skalierbarkeit des Gesamtsystems (sehr große Anzahl von Clients, sehr hohe Datenübertragungsrate), technische und dienstliche Interoperabilität, hohe Flexibilität und Dynamik (Austausch bzw. Erweiterung der Schichten- Architektur), hohe Performance beim Anfrage/Antwort- Verhalten. Fig. 1. Aufbau einer Drei-Schichten-Architektur 4) Mehrschichten-Architektur: Zu den oben beschriebenen Architekturmustern existieren noch weitere, seltener verbreitete Modelle, die sich im Alltag weniger durchgesetzt haben. In [Kyl01] werden zwei mögliche Bindeschichten der Drei-Schichten-Architektur beschrieben: Die Controllerschicht zwischen der Präsentations- und Anwendungsschicht beinhaltet die für die Präsentation erforderlichen Kontrollstrukturen. Die Data- Mapping-Schicht zwischen der Anwendungsund der Datenschicht enthält die Funktionen zum Abbilden der objektorientierten Daten der Anwendungsschicht auf die relationalen Daten der Datenschicht. [Dee03] teilt hingegen die Präsentationsschicht in zwei weitere Schichten auf. Die Client-Präsentation-Schicht, in der die Präsen-

3 3 tation auf dem Client berechnet wird (zum Beispiel die Ausgabe mittels Javascript), und die serverseitige Präsentationsschicht, in der die auf dem Server erstellte Ausgabe für den Client generiert wird (zum Beispiel HTML Generatoren). 5) Architekturauswahl: Um die Richtige Architektur für ein Softwareprojekt auszuwählen bedarf es der Beachtung einiger grundlegender Punkte, welche nachfolgend kurz zusammengefasst werden. Je komplexer die Anwendung ist, desto mehr Schichten sollten verwendet werden, da die Anwendung so in mehrere Teile zerlegt werden kann. Umso mehr Schichten verwendet werden, desto besser ist die Anwendung wartbar, weil es einfacher wird, Ressourcen durch andere zu ersetzen oder Änderungen an einzelnen Teilen vorzunehmen. Sollten einige Module der Software an einer anderen Stelle wiederverwendet werden, ist es vorteilhaft mehrere Schichten zu verwenden, da diese einfacher ausgetauscht werden können. Hat das Projekt einen engen Zeitplan, sollten hingegen weniger Schichten verwendet werden, da bereits in der der Planungsphase ein deutlich höherer Mehraufwand entsteht. B. Pipes und Filter-Architektur Bei diesem Architekturmuster besteht die Anwendung aus Filtern und Pipes, welche das System in mehrere verschiedene Stufen unterteilen. Jeder verarbeitende Schritt wird durch eine Filterkomponente abgebildet. Daten zwischen zwei benachbarten Filtern werden mittels Pipes transportiert. Die Filter beschreiben die aktiven Komponenten dieser Architektur und übernehmen einzelne Teilaufgaben. Ein solcher Filter nimmt Nachrichten über die Eingangsschnittstelle an, ergänzt, verfeinert, transformiert oder bearbeitet diese [Tho10]. Über die Ausgangsschnittstelle wird die verarbeitete Nachricht an eine darauf folgende Pipe weitergegeben. Ein Filter muss im Vergleich mit einer Pipe nicht zu jeder Eingabe eine Ausgabe erzeugen. Pipes bilden die Verbindung zwischen Filtern und nehmen daher nur eine passive Rolle in dieser Architektur ein [Tho10]. Jede Pipe bezieht ihre Eingaben von dem davor liegenden Filter und leitet ihre Ausgaben an den darauf folgenden weiter. Ihre Hauptaufgabe besteht lediglich darin, Nachrichten zwischen unterschiedlichen Filtern zu transportieren. 1) Compiler-Architektur: Die Architektur eines Compilers lässt sich zum Beispiel als Pipe/Filter organisieren, bei der aufeinanderfolgend Scanner, Parser, Code-Generator usw. durchlaufen werden. Dabei ist in Abbildung 2 zu sehen, dass die Gesamtaufgabe in mehrere Teilaufgaben zerlegt wird. Jede Phase ist in ihrer eigenen Komponente zu finden, die dann wiederrum eine definierte Aufgabe durchführt. Die erste Komponente erhält aus der Pipe den Sourcecode und überführt ihn in eine compilerinterne abstrakte Syntax. Der Parser kann danach beispielsweise interne Optimierungen durchführen und übergibt das Ergebnis schließlich durch die Pipe zum Codegenerator, der nach der Generierung des Codes diesen ebenfalls weiter leitet. Fig. 2. Compiler Beispiel Architekturmuster Pipe / Filter am 2) UNIX-Verkettung-Architektur: Ein weiterer Architekturansatz stellt die UNIX- Verkettung von Befehlen in einer Pipe dar. Das Listing 1 zeigt wie eine komplexe Aufgabe in eine Sequenz von Unteraufgaben zerlegt wird. Jeder Filter arbeitet hier mit den Ausgabedaten des davor liegenden. Im aktuellen Beispiel bedeutet dies, dass mittels dem ls (List) Filter alle Dateien vom aktuellen Verzeichnis mit der Endung txt ausgewählt werden und über eine Pipe zum darauf folgenden Filter wc (WordCount) gelangen. Dieser zählt die Häufigkeit der ihm übergebenen Wörter und leitet diese an den nächsten Filter weiter. In diesem Beispiel ist das die Konsole, welche eine Ausgabe erzeugt. l s. t x t wc l Listing 1: Beispiel: Pipe/Filter-Architektur unter UNIX Speziell beim Einsatz der Unix-Verkettung ist laut [Uwe98] darauf zu achten, dass

4 4 definierte Datenformate eingesetzt werden, da diese Filter häufig in einer Toolbox zum Einsatz kommen. Ein einheitliches Datenformat (UNIX ASCII), liefert einen hohen Grad an Flexibilität beim späteren Einsatz, da die Filter so in verschiedener Art und Weise miteinander kombiniert werden können. III. VERTEILTE MUSTER Die Muster in diesem Abschnitt verteilen ihre einzelnen Komponenten meist auf unterschiedliche Hardwareplattformen. Laut [Mic09] betrifft die ein verteiltes System ausmachende Architektur alle Aspekte der Anwendung, unter anderem seinen strukturellen Aufbau, das Verhalten seiner Funktionalität und die zu verwendenden Kommunikationstechniken. A. Client/Server-Architektur Bei der Client/Server-Architektur kann jede Komponente Dienstleistungen anderer Komponenten in Anspruch nehmen, um wiederum selbst Dienstleistungen anbieten zu können. Ein Client erhält in der Regel zu jeder Anfrage an den Server eine Antwort zurück. Laut [Kla02] unterscheidet das Client/Server-Modell zwischen zwei Komponentenarten. Zum einen der Serverkomponente die einen Dienst zur Nutzung anbietet und der Clientkomponente, welche ihn in Anspruch nimmt. das aktuelle Wetter anzeigt näher erläutert. In Abbildung 3 bietet der Webserver ständig das aktuelle Wetter für bestimmte Regionen an. Ein Smartphone beziehungsweise Computer kann bei Bedarf eine Anfrage zum Server senden, welche die gewünschte Wetterregion enthält. Ist diese Region verfügbar, sendet er die aktuellen Daten zum Client zurück, der sie wiederum ausgibt. B. Broker-Architektur Bei dieser speziellen Form der Client- Server-Architektur erfolgt die Zuweisung eines Servers an einen Client mittels eines so genannten Brokers. Der bekannteste Einsatz dieses Architekturmusters stellt die Middleware COR- BA 2 dar. Eine IDL (Interface Definition Language) Datei dient dabei wie in Abbildung 4 ersichtlich zur Definition von Schnittstellen zwischen einzelnen Anwendungskomponenten. Der ORB (Object Request Broker) führt die Auflösung der Objektreferenzen durch, die zuvor in der IDL definiert wurden. Hierüber stellt er die Konnektivität der Anwendungskomponenten sicher. Fig. 4. Broker-Architektur im mobilen Umfeld Fig. 3. Client/Server-Architektur Auf den mobilen Bereich übertragen wird das Beispiel an einer Smartphone App 1, die 1 Anwendung Laut [Xin05] bringt das den Vorteil, dass der Broker sich selbstständig um das Auffinden der Services kümmert und die Anwendung durch die einheitliche Definition von Schnittstellen erweiter- sowie wiederverwendbar macht. Nachteile beim Einsatz eines 2 Common Object Request Broker Architecture

5 5 solchen Frameworks sind jedoch geringere Effizienz, höhere Netzlast und eine komplexere Implementierung. Google Android setzt diese Architektur ebenfalls ein, da laut [Hei09] jede Anwendung in einem eigenen Prozess abläuft und keine direkte Kommunikation untereinander möglich ist. In der Praxis kommt es oft vor, dass sich Apps aus mehreren Prozessen zusammensetzen. Bei einen Navigationssystem läuft der Kern oft als Service im Hintergrund. Das User Interface (UI) befindet sich jedoch im Vordergrund und ist nur so lange aktiv wie es geöffnet ist. Mittels AIDL (Android Interface Definition Language) dem mobilen Pondon zu IDL lässt sich eine zuverlässige Kommunikation zwischen den Komponenten bereitstellen, die an zentraler Stelle administrierbar ist. Auf Abbildung 4 übertragen würde in der linken Seite mittels Compiler 1 das UI und rechts daneben durch Compiler 2 der Hintergrundservice übersetzt. C. Peer-to-Peer-Architektur Bei einer Peer-to-Peer-Architektur (P2P) handelt es sich nach [Eri06] um ein dezentrales System, das sich dadurch auszeichnet, dass die Teilnehmer gleichberechtigt aufgestellt sind und mittels Nachrichten untereinander kommunizieren. Im Vergleich zur zuvor beschriebenen Client- Server-Architektur wird auf eine Nachricht keine Antwort erwartet. Falls doch eine Antwort erforderlich sein sollte, müsste diese als zusätzliche Nachricht in die Rückrichtung versendet werden. Das Peer-to-Peer- Architekturmuster wird außer bei Musik- und Filmtauschbörsen mittlerweile auch vereinzelt im Umfeld mobiler Anwendungen eingesetzt. Ein Beispiel für einen zukünftigen Einsatzbereich der P2P-Architektur stellt die Anwendung in einem modernen Einkaufszentrum dar. Abbildung 5 zeigt die mobilen Geräte (Peers) die der Anwender mit sich trägt. Während des Einkaufs können diese mittels Bluetooth oder Wireless-Lan interagieren, ohne das im Gebäude selbst eine Infrastruktur bereitgestellt werden muss. Diese kleinen P2P Netzwerke bauen sich selbstständig untereinander auf und wickeln die Kommunikation miteinander ab. Dabei besteht immer nur eine direkte Verbindung unter den Geräten, die sich unmittelbar in Reichweite befinden. Für entferntere Fig. 5. Mobile Peer-to-Peer-Architektur Kommunikation dienen die dazwischen liegenden Geräte als Vermittler. D. Model-View-Controller Dieses Muster verteilt die Zuständigkeiten der Präsentationsschicht auf verschiedene Komponenten, was eine Änderung oder Erweiterung erleichtert und die Logik der Anwendung von ihrer Präsentation trennt [Mic10]. Die Anwendung wird dabei nach [Eri94] in folgende Teile Geschäftslogik und Daten (Model), Bildschirmpräsentation (View) sowie in Steuerung (Controller) aufgeteilt. Die Steuerung nimmt Benutzereingaben entgegen und veranlasst die passenden Operationen der Geschäftslogik. View und Model sind dabei entkoppelt und kommunizieren über ein festgelegtes Protokoll [Eri94]. Ändern sich die Daten im Model benachrichtigt es die View, welche die geänderten Werte anzeigt. Anwendungen, die nach diesem Architekturprinzip aufgebaut sind, lassen sich grundsätzlich einfacher auf mobile Plattformen portieren, da in der Regel nur eine neue View mit angepasstem Controller entwickelt werden muss der auf das bestehende Model zugreifen kann. IV. MOBILE ARCHITEKTURMUSTER In diesem Kapitel wird auf die Einsatzgebiete einiger der bereits vorgestellten Architekturmuster im Umfeld mobiler Anwendungen eingegangen. Architekturmuster eignen sich laut [Joa10] gut zur global verteilten Softwareentwicklung um die Grundzüge des zu entwickelnden Systems festzulegen.

6 6 Beispiele und Abbildungen beziehen sich in erster Linie auf die Anwendung vom mobilen Geräten wie Smartphones oder Tablet PC s mit dem Betriebssystem Android. A. Mehrschichten-Architektur Android Android wurde Ende 2008 von Google als quelloffenes und frei verfügbares Betriebssystem für mobile Endgeräte vorgestellt. Die Weiterentwicklung und Adaption auf neue Anforderungen wird von der Open Heandset Alliance durchgeführt, in der Google als Mitglied vertreten ist. Mit der einfachen Möglichkeit auf der oberen Schicht (siehe Abbildung 6) Anwendungen zu entwickeln sowie der freien Verfügbarkeit der Entwicklungsplattform Eclipse hat Android nach [Flo10] definitiv das Potenzial zum Marktführer. Fig. 6. Schichten-Architektur Android [Goo11] Android basiert wie in Abbildung 6 zu sehen auf dem Mehrschichtenmodell, das sich in fünf Stufen unterteilt. 1) Linux Kernel: In der Kernschicht abstrahiert ein Linux Kernel aktuell in der Version 2.6 die zugrunde liegende Hardware. Dieser Kernel wurde speziell für den Einsatz auf mobilen Geräten optimiert, was dazu führte, dass zum Beispiel das Energiemanagement oder Speicherverwaltung angepasst wurden um mit den geringen Ressourcen auszukommen. 2) Libraries: Auf dieser Ebene aufbauend realisieren C und C++ Bibliotheken den schnellen Zugriff auf systemnahe Funktionalitäten. Dies können unter anderem Multimediadienste, Verschlüsselungen oder Datenbankdienste sein. 3) Android Runtime: Ebenfalls in der Libraryschicht integriert, ist die Android Runtime. Diese beherbergt in erster Linie die Dalvik Virtual Machine, welche eine Java- Laufzeitumgebung für die Ausführung und Verwaltung der Android Anwendungen bereitstellt. Zusätzlich sind hier auch Kernbibliotheken für die darüber liegenden in Java programmierten Schichten abgelegt. 4) Application Framework: Speziell für den App Entwickler bietet diese Schicht Java- API s zum einfachen und schnellen Zugriff auf vordefinierte Dienste wie Ortsbestimmung, Mikrofon usw. 5) Applications: In der obersten Schicht mit dem höchsten Abstraktionsniveau befinden sich letztendlich die Anwendungen welche dem Endanwender direkt zur Verfügung stehen. Beispiele hierfür sind: Browser, Telefon, Wetteranzeige, Teschenrechner usw. B. Webshop-Architektur Das Shoppen im Internet erfreut sich ständig steigender Beliebtheit. Weshalb es für die Shop-Betreiber stets wichtig ist, den aktuellen Trends hin zum Mobile-Shopping zu folgen und den Anschluss nicht zu verpassen. Drei Architekturen sollten daher aktuell parallel betrieben werden. Dem Anwender werden so in der Zeit des Web 2.0 alle Vorzüge wie komfortables Navigieren im Shop oder interaktive Beteiligung durch Abgabe von Bewertungen und Erfahrungsberichten ermöglicht [Tos07]. 1) Standard-Web: Der erste Pfeil in Abbildung 7 zeigt den Zugriff auf einen Webshop wie er mittels eines normalem PC s zum Beispiel über Mozilla Firefox stattfindet. Solange das Anzeigegerät über eine Ausreichende Auflösung verfügt, ist diese Architektur ohne Probleme einzusetzen. Verfügt das Endgerät jedoch lediglich über eine geringe Auflösung oder wird mittels Touchscreen bedient, stößt man hierbei schnell an die Grenzen. 2) Mobile-Web: Die einfache alternative besteht darin, einen mobilen Webshop parallel zum Standardshop zu betreiben (siehe Abbildung 7, Pfeil Mitte). Diese Architektur bietet ausreichende Funktionalität auf mobilen Endgeräten und ist zugleich auch plattformunabhängig, da sie im integrierten Webbrowser betrieben wird. 3) Mobile-API: Am komfortabelsten ist es jedoch, das Smartphone mit einer Nativen-App durch den Webshop zu navigieren. Diese besitzt eine eigene Anzeige- und Geschäftsschicht, was ihr ermöglicht über die mobile Programmierschnittstellen des Shop-Systems direkt auf die Daten zuzugreifen.

7 7 Fig. 7. Architekturbeispiel Webshop Im Idealfall ist ein moderner Webshop mit allen drei Architekturen ausgestattet. Dies ermöglicht den Endanwendern die volle Funktionalität des Shops im Browser (PC), mittels der Nativen-App (Smartphone) oder den plattformunabhängigen Mobile-Webshop auf allen anderen Endgeräten auszuschöpfen. C. Aufwand/Möglichkeiten Den Möglichkeiten, welche die verschiedenen Architekturen liefern, muss jedoch auch der Aufwand für die Entwicklung gegenüber gestellt werden. So ist es zum Beispiel bei einem kleinen Webshop mit geringem Umsatz nicht profitabel immense Summen für die Programmierung nativer Apps zu investieren. 1) Web: Die Vorteile der Web-Apps- Architektur sind vielfältig. Für mobile Geräte optimierte Websites ermöglichen es, der breiten Masse von Anwendern über einen benutzerfreundlichen Weg auf den Webshop zuzugreifen. Die meisten Endgeräte verfügen bereits standardmäßig über einen mobilen Browser der hierzu genutzt werden kann. Da die überwiegende Anzahl der Endkunden meist mit der Suchmaschiene Google zum Webshop gelangen, bietet eine Web-App hier den Vorteil, dass diese direkt verlinkt werden kann. Dem Endanwender bleiben somit unnötige Zwischenschritte wie eine App herunterladen, installieren und öffnen erspart. Letztendlich ist die Web-App auch flexibler hinsichtlich der Gestaltung von Updates, da laut [Glo10] keine Evaluierung wie bei nativen Apps durch den Plattformbetreiber erforderlich ist. 2) Web+: Die erweiterten Web-Apps bilden eine Zwischenlösung auf Abbildung 8 platzieren sie sich in der Mitte. Durch Frameworks wie jqtouch oder Sencha die speziell für Webanwendungen auf Basis von HTML 5 entwickelt wurden, ist es nun möglich dem Look&Feel von nativen Anwendungen ohne direkte Programmierung sehr nahe zu kommen. 3) Nativ: Das User Experiance Design einer nativen Anwendung ist in der Regel leistungsstärker als bei Web-Apps, da es laut [Glo10] die einzige Möglichkeit darstellt, um auf Gerätefunktionen wie Kamera, Beschleunigungssensor, Adressbuch, Ortungsschnittstelle oder die Telefonfunktion zuzugreifen. Die Reichweite des Markets bzw. App Stores tragen erheblich zur Verbreitung der Anwendung bei, was wiederrum eine höhere Investition für den Entwicklungsaufwand der nativen App rechtfertigt. Da es sich bei nativen Apps jedoch um Anwendungen handelt, die speziell für eine Plattform entwickelt wurden, entsteht wie in Abbildung 8 zu erkennen meist ein hoher Arbeitsaufwand. Oft ist es erforderlich, die Entwicklung für mehrere Plattformen parallel zu betreiben, da die Zielgruppe meist unterschiedliche Betriebssysteme wie Android, ios 3, WM7 4 oder Symbian auf ihren Endgeräten einsetzt. Fig. 8. Architekturen Aufwand / Nutzen [Ott11], [Spo11] 3 iphone OS 4 Windows Mobile 7

8 8 Die Architektur einer nativen App birgt dennoch ein starkes Zukunftspotential, da sie die Zugänglichkeit eines Webshops erhöht. Durch erweiterte Dienste wie Push-Funktionen oder ortsgebundene Werbung entstehen neue Möglichkeiten, die laut [Glo10] die Kundenbindung erhöhen. V. SCHLUSSFOLGERUNGEN Architekturmuster haben sich in der Softwareentwicklung bereits seit langer Zeit bewährt. Sie sind notwendig um Anwendungen bereits auf oberster Ebene strukturiert aufzubauen. In den letzten Jahren wurden die bereits bewährten Muster wie das Client/Serveroder Broker-Prinzip aus der traditionellen Entwicklung in den Bereich der mobilen Softwareentwicklung übernommen und erfolgreich angewendet. Dies ist an den zahlreich neu erschienenen Apps beispielsweise im Bereich des Onlinebankings oder mobilen Fernsehens zu erkennen. Laut [Sta04] ist es bereits erwiesen, dass mobile Anwendungen ein integraler Bestandteil unseres Lebens werden. Neue Architekturen im Bereich von mobilen Webshops mit integrierten Zahlungsmöglichkeiten werden sich daher stark weiter entwickeln. Hierbei besteht das Ziel darin, dem Kunden verschiedene Wege zur Verfügung zu stellen, unter denen er den für sich am komfortabelsten frei auswählen kann. Je mehr Möglichkeiten geboten werden, desto höher sind letztendlich auch die Kosten. Hierbei gilt es eine für den Kunden und Webshopbetreiber zufrieden stellenden Kompromis zu finden. Weitere Architekturen wie Peer-to-Peer die sich in den traditionellen Bereichen bereits erfolgreich bewährt haben, befinden sich im mobilen Bereich noch am Anfang ihrer Entwicklungsphase. Diese Muster könnten sehr flexibel eingesetzt werden, da am Einsatzort keine fest installierte Hardware erforderlich ist. Sie versprechen bereits jetzt, ein riesiges Potential für die Zukunft im Bereich der mobilen Kommunikation. [Dee03] REFERENCES DEEPAK ALUR, JOHN CRUPI, DAN MALKS: Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition. Prentice Hall / Sun Microsystems Press, 2003 [Eri94] ERICH GAMMA, RICHARD HELM, RALPH JOHNSON, JOHN VLISSIDES: Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley Longman, Amsterdam, 1994 [Eri06] ERIK BUCHMANN: Erkennung und Vermeidung von unkooperativem Verhalten in Peer-to- Peer-Datenstrukturen, Diss., 2006 [Flo10] FLORIAN MANGOLD: Analyse von IT- Anwendungen mittels Zeitvariation, Diss., 2010 [Glo10] GLOBAL INTELLIGENCE ALLIANCE: Native or Web Application? Forschungsbericht [Goo11] GOOGLE INC.: Android Online Documentation. Version: 2011 [Hei09] HEIKO MOSEMANN, MATTHIAS KOSE: Android. Hanser Fachbuchverlag, 2009 [Joa10] JOACHIM SAUER: Architekturzentrierte agile Anwendungsentwicklung in global verteilten Projekten, Diss., 2010 [Jör03] JÖRG BECKER, HOLGER HANSMANN, TO- BIAS RIEKE: Architekturen von Informationssystemen. In: ACM (2003) [Kla02] KLAUS BESCHORNER: Untersuchungen zur effizienten Kommunikation in komponentenbasierten Client/Server-Systemen, Diss., 2002 [Kyl01] KYLE BROWN, GARY CRAIG, GREG HESTER, JAIME NISWONGER, DAVID PITT, RUSSELL STINEHOUR: Enterprise Java Programming [Mar02] with IBM WebSphere. IBM Press, 2001 MARTIN FOWLER: Patterns of Enterprise Application Architecture. Addison-Wesley Longman, 2002 [Mic06] MICHAEL NUTTO: Internetbasiertes Fachinformationssystem zur Plattenkinematik, Diss., 2006 [Mic09] MICHAEL DUVIGNEAU: Konzeptionelle Modellierung von Plugin-Systemen mit Petrinetzen, Diss., 2009 [Mic10] MICHAEL ALBERT, THOMAS HEINZ, MIKE IMHOF: Entwicklung eines mobilen Eyetrackers, Diss., 2010 [Ott11] OTTO GMBH & CO KG: Abbildung Otto Online-Shopping. Version: 2011 [Spo11] SPORTSCHECK GMBH: Abbildung SportScheck Online-Shopping. Version: 2011 [Sta04] STAMATIS KARNOUSKOS: Mobile Payment: A Journey through exitsting Procedures and standardization Initiatives. In: IEEE (2004) [Ste08] STEFAN BETERMIEUX: Generierung [Tho10] aufgabenbasierter dialogorientierter Benutzerschnittstellen von Web-Anwendungen, Diss., 2008 THORSTEN SCHEIBLER: Ausführbare Integrationsmuster, Diss., 2010 [Tos07] TOSHIHIKO YAMAKAMI: Mobile Web 2.0: Lessons from Web 2.0 and Past Mobile Internet Development. In: IEEE (2007) [Uwe98] UWE SCHMIDT, INGO SCHLÜTER, NIKOLAUS WINTER, ANDREAS KRUTSCHER, MIRKO MUMBERG, SVEN GARSKE: Seminar Objektorientierter Entwurf Forschungsbericht [Xin05] XINYU CHEN, MICHAEL R. LYU: Reliability Analysis for Various Communication Schemes in Wireless CORBA. In: IEEE (2005)

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

VDLUFA-Schriftenreihe 1

VDLUFA-Schriftenreihe 1 VDLUFA-Schriftenreihe 1 Wie viele Apps sind ein LIMS? J. Flekna Pragmatis GmbH, Neufahrn 1. Einleitung Seitdem mobile Endgeräte massentauglich sind, ist die Bezeichnung App fester Bestandteil unseres zeitgeistigen

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011 Workshop I Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation 7. Juni 2011 Übersicht è Native Apps è Web-Apps è Mobile Websites è Responsive Design Mobile Kommunikation

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Agenda Problemstellung Medizinprodukt App Grundlagen Szenarien (Problemstellungen und Lösungsansätze) 03.06.2013 2 Innovationen

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Plattformen mobiler Endgeräte Windows Phone, ios, Android

Plattformen mobiler Endgeräte Windows Phone, ios, Android Plattformen mobiler Endgeräte Windows Phone, ios, Android 13.12.2012 Inhaltsverzeichnis 1. Einführung 2. Ecosystem Smartphone OS 3. Mobile Software Platform 4. Android App Entwicklung 5. Zusammenfassung

Mehr

Sicherheit in Android

Sicherheit in Android Motivation Aufbau Sicherheit Ausblick Quellen Sicherheit in Android Peter Salchow INF-M2 - Anwendungen 1 Sommersemester 2008 Department Informatik HAW Hamburg 20. Mai 2008 Peter Salchow Sicherheit in Android

Mehr

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

Eine App, viele Plattformen

Eine App, viele Plattformen Eine App, viele Plattformen Anwendungsentwicklung für Mobile Heiko Lewandowski 23.04.2013 EINLEITUNG Festlegung App-Strategie: Welche Ziele möchte ich erreichen? Die Vielzahl der Plattformen und Geräte(hersteller)

Mehr

Architektur einer GDI: Service-oriented Architecture (SOA)

Architektur einer GDI: Service-oriented Architecture (SOA) Modul 6: Voraussetzungen einer GDI Vertiefende Dokumente I Stand: 24.01.2012 Architektur einer GDI: Service-oriented Architecture (SOA) Zu den Hauptargumenten für eine Geodateninfrastruktur zählen unter

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

18 Entwicklung verteilter Systeme

18 Entwicklung verteilter Systeme 18 Entwicklung verteilter Systeme 18.0 Einführung Lernziele Verteilte Systeme 18.1 Charakteristika verteilter Systeme Entwurfsfragen Kommunikationsmodelle Middleware 18.2 Client-Server-Systeme Prozesse

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

SAP Mobile Platform MÜNSTER 10.04.2013. best practice consulting Aktiengesellschaft Raboisen 32 20095 Hamburg T +49 40 303752-0 F +49 40 303752-77

SAP Mobile Platform MÜNSTER 10.04.2013. best practice consulting Aktiengesellschaft Raboisen 32 20095 Hamburg T +49 40 303752-0 F +49 40 303752-77 MÜNSTER 10.04.2013 SAP Mobile Platform best practice consulting Aktiengesellschaft Raboisen 32 20095 Hamburg T +49 40 303752-0 F +49 40 303752-77 E info@bpc.ag W www.bpc.ag Seite 1 18.04.2013 Agenda Einleitung

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

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

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

Mobile: Die Königsfrage

Mobile: Die Königsfrage Mobile: Die Königsfrage - Native App,Mobile Website oder doch Responsive Design? - Native App oder Mobile Website? Wer am Boom der mobilen Anwendungen teilhaben möchte, hat im Prinzip zwei Möglichkeiten:

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

CouchCommerce Online-Shops für Tablet Besucher optimieren, aber wie?

CouchCommerce Online-Shops für Tablet Besucher optimieren, aber wie? CouchCommerce Online-Shops für Tablet Besucher optimieren, aber wie? Wie Tablets die Post PC Commerce Ära einleiten Sie finden ein Video dieser Präsentation unter http://blog.couchcommerce.com/2012/06/03/couchcommerce-impressions-andvideo-from-the-shopware-community-day-2012/

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

NEXT GENERATION MOBILE PHONE PLATFORMS

NEXT GENERATION MOBILE PHONE PLATFORMS Stephan Zeisberg NEXT GENERATION MOBILE PHONE PLATFORMS Ein Einblick in die Systemarchitekturen aktueller Smartphones 1 Motivation Technologischer Stillstand in der Entwicklung mobiler Betriebssysteme

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

Android, ios und Windows Phone dominieren zurzeit den Markt für mobile Firmware, wesentlich kleiner ist der Marktanteil von Blackberry OS10.

Android, ios und Windows Phone dominieren zurzeit den Markt für mobile Firmware, wesentlich kleiner ist der Marktanteil von Blackberry OS10. Zahlen und Fakten. Firmware Mit Firmware wird bei mobilen Endgeräten der Anteil des Betriebssystems bezeichnet, der auf die Hardware in dem Gerät angepasst ist und mit dem Gerät durch Laden in einen Flash-Speicher

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur

Mehr

Verteilte Systemarchitekturen

Verteilte Systemarchitekturen Verteilte Systemarchitekturen Proseminar im WS 09/10 Prof. Sergei Gorlatch, Philipp Kegel, Alexander Ploß Parallele und verteilte Systeme, Westfälische Wilhelms-Universität Münster 17. Juli 2009 Inhalte

Mehr

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013. Functional Test Automation Tools

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013. Functional Test Automation Tools Functional Test Automation Tools Mobile App Testing Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013 Presenter: Christoph Preschern (cpreschern@ranorex.com) Inhalte» Ranorex Company Overview»

Mehr

Verteilte Systeme Hochschule Mannheim

Verteilte Systeme Hochschule Mannheim Verteilte Systeme Hochschule Mannheim Thorsten Reitz, Thomas Zimmermann, Jori Kern, Tobias Schröder, Christoph Reiser, Kay Estelmann Fakultät für Informatik Hochschule Mannheim 8.4.2011 Heute 1 Einleitung

Mehr

Falko Braune Präsentation - Hauptseminar Web Engineering Professur Verteilte und selbstorganisierende Rechnersysteme Technische Universität Chemnitz

Falko Braune Präsentation - Hauptseminar Web Engineering Professur Verteilte und selbstorganisierende Rechnersysteme Technische Universität Chemnitz Falko Braune Präsentation - Hauptseminar Web Engineering Professur Verteilte und selbstorganisierende Rechnersysteme Technische Universität Chemnitz - 19.12.2012 1. Einleitung 2. Technologie 3. Bewertung

Mehr

TM1 mobile intelligence

TM1 mobile intelligence TM1 mobile intelligence TM1mobile ist eine hochportable, mobile Plattform State of the Art, realisiert als Mobile BI-Plug-In für IBM Cognos TM1 und konzipiert als Framework für die Realisierung anspruchsvoller

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

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

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

DESIGN'PATTERN'2011. November. Abstract Factory & Factory Method BEARBEITET VON INHALT [1] Christoph Süsens

DESIGN'PATTERN'2011. November. Abstract Factory & Factory Method BEARBEITET VON INHALT [1] Christoph Süsens November DESIGN'PATTERN'2011 INHALT Intent Motivation Applicability Structure Consequences Implementation Sample Code [1] BEARBEITET VON Christoph Süsens Abstract Factory & Factory Method Inhaltsverzeichnis

Mehr

App-Entwicklung mit Titanium

App-Entwicklung mit Titanium Masterstudienarbeit Betreuung Prof. Dr. M. von Schwerin 1 Gliederung 1.Motivation 2.Aufgabenstellung 3.Projektbeschreibung 4.Projektstatusbericht 5.Fazit und Ausblick 2 1.Motivation Verbreitung von Smartphones

Mehr

AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP

AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP 2 Inhalt Warum ist es sinnvoll eine spezielle Applikation für mobile Geräte zu entwickeln? Seite 5 Welche Möglichkeiten der Umsetzung gibt es? 6 Mobile Applikation

Mehr

Mobile Applications. Adrian Nägeli, CTO bitforge AG

Mobile Applications. Adrian Nägeli, CTO bitforge AG Mobile Applications Adrian Nägeli, CTO bitforge AG Inhalt Vorstellung Marktübersicht Entwicklung Adrian Nägeli Dipl. Inf.-Ing FH Seit 2005 bei bitforge bitforge AG Standort Rapperswil-Jona Gründung 2004

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

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

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Inhaltsverzeichnis Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Einleitung... 15 Zielgruppe... 16 Aufbau... 16 Inhalt der einzelnen Kapitel... 17 Systemanforderungen...

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Bring Your Own Device in der Industrie

Bring Your Own Device in der Industrie Bring Your Own Device in der Industrie Geht das wirklich? 27.05.2014 Thomas Sorg BERNER & MATTNER Überblick BERNER & MATTNER Systemtechnik GmbH ASSYSTEM Founded: 1979 Employees: 450 Headquarters: Munich,

Mehr

Von SAP R/3 zu mysap ERP und NetWeaver

Von SAP R/3 zu mysap ERP und NetWeaver Von SAP R/3 zu mysap ERP und NetWeaver Bremerhaven 06.05.2006 T4T Bremerhaven 1 Inhaltsverzeichnis 1. Motivation für SAP NetWeaver 2. SAP R/3 mysap ERP und SAP Business Suite 3. Application Platform T4T

Mehr

Was ist Software-Architektur?

Was ist Software-Architektur? Was ist Software-Architektur? Stephan Schulze Martin Knobloch 28.04.2004 Seminar: Software-Architektur Humboldt Universität zu Berlin sschulze knobloch@informatik.hu-berlin.de Gliederung Begriffsbestimmung

Mehr

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel Ruby on Rails Florian Ferrano Ralf Heller Markus Nagel Überblick Ruby on Rails Ruby Rails Geschichte MVC allgemein MVC in Rails Scaffolding Webserver Installation Beispiele Wo wird Rails verwendet? Ausblick

Mehr

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk Informationsmaterial zum Modul-Nr. 2.4: Bildungsnetzwerke planen (Schwerpunkt: IT-Unterstützung in Bildungsnetzwerken) Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem

Mehr

Von Der Idee bis zu Ihrer App

Von Der Idee bis zu Ihrer App Von Der Idee bis zu Ihrer App Solid Apps Von Der Idee bis zu Ihrer App Konzeption, Design & Entwicklung von Applikationen für alle gängigen Smartphones & Tablets Sowie im Web - alles aus einer Hand! In

Mehr

Mobile Enterprise Application Platforms

Mobile Enterprise Application Platforms Mobile Enterprise Application Platforms 17. April 2013 Fachbereich Wirtschaft und Gesundheit Prof. Dr. Volker Wiemann volker.wiemann@fh bielefeld.de +49 (0) 521/106 389 Problem 0. Ausgangslage Blackberry

Mehr

SaaS-Referenzarchitektur. iico-2013-berlin

SaaS-Referenzarchitektur. iico-2013-berlin SaaS-Referenzarchitektur iico-2013-berlin Referent Ertan Özdil Founder / CEO / Shareholder weclapp die Anforderungen 1.000.000 registrierte User 3.000 gleichzeitig aktive user Höchste Performance Hohe

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Complex Hosting. Whitepaper. Autor.: Monika Olschewski. Version: 1.0 Erstellt am: 14.07.2010. ADACOR Hosting GmbH

Complex Hosting. Whitepaper. Autor.: Monika Olschewski. Version: 1.0 Erstellt am: 14.07.2010. ADACOR Hosting GmbH Complex Hosting Autor.: Monika Olschewski Whitepaper Version: 1.0 Erstellt am: 14.07.2010 ADACOR Hosting GmbH Kaiserleistrasse 51 63067 Offenbach am Main info@adacor.com www.adacor.com Complex Hosting

Mehr

Visual Studio LightSwitch 2011

Visual Studio LightSwitch 2011 1 Visual Studio LightSwitch 2011 Vereinfachte Softwareentwicklung im Eiltempo W3L AG info@w3l.de 2012 2 Agenda Motivation Softwareentwicklung im Eiltempo Was ist LightSwitch? Merkmale Zielgruppe LightSwitch

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by Mobile Apps mit DSLs C1 und entfernter Codegenerierung Codierst Du noch oder generierst Du schon? Generative Software GmbH Freiburg Inhalt Plattformabhängige Entwicklung JavaScript Firefox OS Java Android

Mehr

0. Einführung. C und C++ (CPP)

0. Einführung. C und C++ (CPP) C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Mobile Lösungen im industriellen Umfeld

Mobile Lösungen im industriellen Umfeld Mobile Lösungen im industriellen Umfeld Jetzt die Chancen nutzen 13.05.2014 Thomas Sorg Inhalt Berner & Mattner Ein Beispiel zu BYOD Vorteile von BYOD Warum mobile Lösungen Industrielle Apps Technologische

Mehr

Unternehmensportfolio

Unternehmensportfolio Unternehmensportfolio Was wir machen: Cross Plattform Mobile Applications Beispiel ansehen Was wir machen: HTML5 & CSS3 basierte Web Applikationen Beispiel ansehen Was wir machen: Windows 8 & Windows Mobile

Mehr

Aktuelle Kurstermine

Aktuelle Kurstermine Design Patterns 20.07.2015-22.07.2015 3 Tage 1.200,- Lokale Netze - Basiswissen 20.07.2015-24.07.2015 5 Tage 1.830,- Java EE Persistence API Development 27.07.2015-29.07.2015 3 Tage 1.200,- Linux Server

Mehr

Software Engineering Übung 4 Architektur, Modulentwurf

Software Engineering Übung 4 Architektur, Modulentwurf software evolution & architecture lab Software Engineering Übung 4 Architektur, Modulentwurf 1 Informationen 1.1 Daten Ausgabe Di 27.10.2009 Abgabe So 08.11.2009 bis 23:59 Uhr Besprechung am Di 17.11.2009

Mehr

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

Android. LUG-LD Christoph Maya 2011 http://demaya.de. Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/

Android. LUG-LD Christoph Maya 2011 http://demaya.de. Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/ Android LUG-LD Christoph Maya 2011 http://demaya.de Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/ Inhalt Inhalt: ein Mix für Einsteiger und Fortgeschrittene Was ist Android und wo kommts her?

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Mobile Anwendungen im SAP-Umfeld

Mobile Anwendungen im SAP-Umfeld Erstes Symposium für neue IT in Leipzig 27. September 2013 Michael Rentzsch Informatik DV GmbH michael.rentzsch@informatik-dv.com +49.341.462586920 IT-Trend: Mobile Mobile might be one of the most interesting

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2

Mehr

Mobile Kartenanwendungen im Web oder als App?

Mobile Kartenanwendungen im Web oder als App? Mobile Kartenanwendungen im Web oder als App? Agenda Anforderungen an eine mobile Kartenanwendung Warum mobile Anwendungen? Mobil ist nicht genug! Knackpunkte bei der Entwicklung mobiler Kartenanwendungen

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2

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

Philosophie & Tätigkeiten. Geschäftsfelder. Software Engineering. Business Applikationen. Mobile Applikationen. Web Applikationen.

Philosophie & Tätigkeiten. Geschäftsfelder. Software Engineering. Business Applikationen. Mobile Applikationen. Web Applikationen. Philosophie & Tätigkeiten Wir sind ein Unternehmen, welches sich mit der Umsetzung kundenspezifischer Softwareprodukte und IT-Lösungen beschäftigt. Wir unterstützen unsere Kunde während des gesamten Projektprozesses,

Mehr

Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung

Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung In 2015 werden mehr Tablet-Computer verkauft werden als Desktopund tragbare Computer zusammen Quelle: IDC, Mai 2013 Aufgrund der

Mehr

Bin ich fit für myconvento?

Bin ich fit für myconvento? Bin ich fit für myconvento? Sie planen den Einsatz unserer innovativen Kommunikationslösung myconvento und fragen sich gerade, ob Ihr Rechner die Anforderungen erfüllt? Hier erfahren Sie mehr. Inhalt Was

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung Was für ein Tempo! Das Rad dreht sich rasant schnell: Die heutigen Anforderungen an Softwareentwicklung sind hoch und werden

Mehr

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

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Prinzipien der Application Centric Infrastructure

Prinzipien der Application Centric Infrastructure Whitepaper Prinzipien der Application Centric Infrastructure Übersicht Eine der wichtigsten Innovationen der Application Centric Infrastructure (ACI) ist die Einführung einer hochabstrakten Schnittstelle

Mehr

SIEBEL OPEN UI. Rhein-Main-Handel GmbH. Bankhaus Goldbaum GmbH & Co. KG. Standort: Düsseldorf. Standort: Frankfurt ilum:e informatik ag

SIEBEL OPEN UI. Rhein-Main-Handel GmbH. Bankhaus Goldbaum GmbH & Co. KG. Standort: Düsseldorf. Standort: Frankfurt ilum:e informatik ag SIEBEL OPEN UI Rhein-Main-Handel GmbH Standort: Düsseldorf Bankhaus Goldbaum GmbH & Co. KG ilum:e informatik ag Standort: Mainz Forschungszentrum Medizin Internationale Telecom AG Chemielabor GmbH Standort:

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Oracle Application Server Oracle Application Server - 1 Gliederung Einführung Oracle Application Server (OAS) Praxis- und Diplomarbeitenverwaltung LiveHTML Kritik Becker,

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) 1 e-business Patterns??? e-business Patterns Architekturen, die sich über die Zeit bewährt haben. Pattern-Fundgrube web-basierte

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2013 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

Mehr

Mit Cloud Power werden Sie zum

Mit Cloud Power werden Sie zum Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50

Mehr