Flexibel sein

Konfigurierbare Strukturen und Logik in .NET-Anwendungen

Rainer Stropek

cubido business solutions gmbh
N13 Dienstag, 15. 9., 14:00 – 15:10 Uhr .Net P Di de PDF

Der Schlüssel zur Umsetzung von konfigurierbaren Applikationen mit variablem Datenmodell sind Metadaten. Im .NET-Framework gibt es seit den ersten Versionen Ansätze dazu (z. B. ICustomTypeDescriptor). In .NET 2.0 wurde dieser Mechanismus drastisch erweitert (TypeDescriptor und TypeDescriptionProvider). Durch die Dynamic Language Runtime (DLR) findet nun ein neues Konzept für dynamische Bindung und Metadaten seinen Weg in das .NET-Framework (IDynamicObject).

In diesem Vortrag wird anhand eines durchgängigen Beispiels gezeigt, wie bereits mit den heute verfügbaren Mitteln (d. h. mit C# 3.x, .NET Framework 3.5, DLR, ANTLR und XAML/WPF für das UI) eine Architektur für hochgradig anpassbare .NET-Applikationen aussehen kann. Dabei liegt der Schwerpunkt jedoch nicht auf der Vermittlung von Implementierungsdetails sondern darauf, zu erklären und praktisch zu zeigen, wie eine Architektur für anpassbare Datenstrukturen und Logik in .NET aussehen kann. Dieser Vortrag richtet sich damit an alle Entwickler, die konfigurierbare Anwendungen für ein breites Zielpublikum erstellen müssen. Er zeigt wie man kundenspezifische Anpassungen der Datenstrukturen ermöglicht und wie man mit wenig Aufwand zu einer Script-Sprache für die eigene Applikation kommt. Es wird gezeigt, dass dies schon jetzt – noch ohne C# 4.0 – praktisch einsetzbar ist und so geschrieben werden kann, dass der Code nahezu ohne Änderung bei Verfügbarkeit von VS 2010 mit dem dynamic-Datentyp von C# 4.0 konsumiert werden kann.

Stumbling Blocks and Stepping Stones

Der Weg zu Software Transactional Memory

Dr. Christoph von Praun

Georg-Simon-Ohm-Hochschule
T32 Donnerstag, 17. 9., 11:20 – 12:30 Uhr .Net Java P Do de PDF

Die Erweiterung gängiger Programmiersprachen um Nebenläufigkeit war einfach und verlief unspektakulär: Threads werden durch Bibliotheksfunktionen zur Verfügung gestellt, Synchronisationsmechanismen basieren im Wesentlichen auf Locks. Die korrekte Verwendung dieser Mechanismen bei der Parallelisierung von sequentiellen Programmen gestaltet sich jedoch schwierig. Ein neuer, einfacherer Weg zu korrekt synchronisierten, effizienten und parallelen Programmen verspricht Transactional Memory (TM).

In diesem Vortrag werden die Grundprinzipien des Transactional Memory vorgestellt und Design-Fragen diskutiert, die sich bei der Integration und Verwendung dieser Technik im Kontext von Programmiersprachen wie Java stellen. Zuletzt wird auf Herausforderungen und aktuelle Techniken bei der Software-basierten Implementierung eingegangen.

Renovation statt Abrissbirne

Erfolgreiche Migration von Legacy-Applikationen

Bruno Schäffer

Canoo
P12 Dienstag, 15. 9., 11:20 – 12:30 Uhr .Net Java P V Di de PDF

Die APG, der Marktführer für Außenwerbung in der Schweiz, war gezwungen, eine Reihe von grossen 4GL-basierten Applikationen zu migrieren, da die Client-seitige Laufzeitumgebung vom Hersteller abgekündigt wurde. Für die Migration wurden zwei wesentliche Randbedingungen vorgegeben: die bestehende 2-Tier-Architektur wird nicht in Frage gestellt &ndasd; d. h. nur die Benutzerschnittstelle wird ersetzt – und die Produktivität der Entwickler muss mindestens so gut sein wie in der alten Umgebung. Nun sind Java und Swing nicht gerade berühmt dafür, dass sich damit komplexe formularbasierte Client-Server-Anwendungen effizient entwickeln lassen. Das Abstraktionsniveau von Swing und Konsorten wird den Anforderungen schlicht nicht gerecht. Aller Skepsis zum Trotz entschied man sich für Java und Swing als die neue Basis für die Implementierung der Benutzeroberfläche. Mittlerweile sind die ersten migrierten Applikationen in Produktion und sowohl Benutzer, Entwickler und der Betrieb sind hochzufrieden.

Dieser Vortrag zeigt, wie man durch eine geschickte Kombination von Open-Source-Tools und -Bibliotheken sowie etwas Infrastruktur-Eigenentwicklung eine erfolgreiche Migration erreichen konnte. Nebenbei wurde die Benutzeroberfläche drastisch verbessert und die neue Umgebung verspricht auch längerfristig eine kostengünstigere Wartung.

Come, fly with me!

Anwendungsentwicklung für den Luftverkehr

Karina Hümpfner

Flughafen München GmbH
P14 Dienstag, 15. 9., 15:40 – 16:50 Uhr .Net Java P V Di de PDF

Sie haben sich schon immer gefragt, was rund um ein Flugzeug auf dem Weg zum Boden passiert? Die Flughafen München GmbH hat eine eigene Abteilung zur Software-Entwicklung. Ein Gebiet, für das neben vielen anderen entwickelt wird, ist der eigentliche Luftverkehr – auch Aviation genannt.

Wie die Software das Handling der Flugzeuge unterstützt, in welchen Bereichen am Flughafen sie eingesetzt wird und etwas zu deren Entstehung soll dieser Vortrag zeigen.

Ganz tief unten

Mit Java ins Erdinnere

Thomas Stecher

Geozentrum Hannover
P22 Mittwoch, 16. 9., 11:20 – 12:30 Uhr .Net Java P V Mi de

Außergewöhnliche Herausforderungen erfordern außergewöhnliche Lösungen. Dies gilt ganz besonders für das INCA Projekt der Bundesanstalt für Geowissenschaften und Rohstoffe. Immer genauere Simulationen geologischer Vorgänge erfordern eine Datenverarbeitung (Processing) oft hart an der Grenze der Machbarkeit und gelegentlich auch darüber hinaus.

Dieser Vortrag berichtet über die Erfahrungen mit Java in einer ganz besonderen Anwendung – jenseits aller Standards. Sie können eine hoch dynamische Software-Lösung live bewundern, die „lebende“ Business-Objekte verwendet (echtes Model-View-Controller über Netz) und werden darüber staunen, welche enormen Performanzsteigerungen mit den NIO-Klassen von Java erzielt wurden.

Messgenau

(Statische) Code-Analyse für .Net und Java

Thomas Haug

MATHEMA Software GmbH
P23 Mittwoch, 16. 9., 14:00 – 15:10 Uhr .Net Java P V Mi de PDF

Die allzugut bekannte Code-Entropie führt zwangsläufig zu einer Degeneration einer Software und der zugrundeliegenden Architektur. Wie kann dieser Verfall sichtbar gemacht und insbesondere aufgehalten werden? Das Zauberwort hierfür lautet statische Code-Analyse. Neben Werkzeugen zur Beurteilung der Konformität zu Codierrichtlinien existieren eine Vielzahl von Software-Metriken zur Bewertung der Komplexität und dem Einsatz objektorientierter Mechanismen in einem Projekt.

In diesem Vortrag werden wichtige Metriken zur Bewertung der Software-Qualität vorgestellt und anhand frei verfügbarer Werkzeuge an bekannten Open-Source-Projekten wie Spring, Tomcat, Hibernate demonstriert. Hierbei spielt auch die Visualisierung von den erhobenen Metriken eine wichtige Rolle, denn Bilder sagen mehr als nacke Zahlen.

Konform

Standard-Prozesse und -Werkzeuge in Großunternehmen

Dr. Markus Liebelt

T-Systems Enterprise Services GmbH
P24 Mittwoch, 16. 9., 15:40 – 16:50 Uhr .Net Java P V Mi de PDF

Großunternehmen ticken anders: Sie treten nach außen einheitlich auf, sie beeindrucken durch Größe und ihr Beharrungsvermögen ist legendär. Doch das hat auch Schattenseiten: Standards zu vereinbaren und umzusetzen ist langwierig und mühsam; die Anzahl der verwendeten Werkzeuge scheint exponentiell mit der Größe des Unternehmens zu steigen; gewachsene Strukturen haben Gründe, die man nicht von einem Tag auf den anderen vom Tisch wischen kann.

Der Vortrag zeigt, wie die Standardisierung der Software-Entwicklung bei der T-Systems funktioniert hat, und wo wir heute noch kämpfen. Er erläutert an praktischen Beispielen, warum die Standardisierung dem Unternehmen Geld sparen kann, dem Einzelnen aber Mehraufwände aufbürdet. Er erläutert, wie ein Projekt in wenigen Stunden von der Idee der Umsetzung zu einer funktionierenden Software-Entwicklungsumgebung kommt, verdeutlicht aber auch, warum man dort nicht stehen bleiben darf, um das Verbesserungspotenzial wirklich umzusetzen. Eine Typologie der Software-Worker verdeutlicht manche Schwierigkeiten. Letztendlich wird ein großes Bild entstehen, das Chancen, aber auch Risiken für andere nachvollziehbar darstellt.

Business Rules!

Geschäftsregeln und Software-Architekten

Markus Schärtel

Innovations Software Technology
V12 Dienstag, 15. 9., 11:20 – 12:30 Uhr .Net Java SOA P V Di de PDF

Was sind überhaupt Geschäftsregeln? Wie werden diese herkömmlich implementiert? Welche Anforderungen führen dazu, dass die Business-Rules-Technologie immer populärer wird?

In diesem Vortrag wird eine mögliche Klassifizierung von Geschäftsregeln vorgestellt und daraus typische Einsatzszenarien abgeleitet. Es wird erklärt, wie Business-Rules-Technologie und Regelmaschinen die Erstellung flexibler und wettbewerbsfähiger IT-Lösungen erleichtern und warum sie in den Werkzeugkasten jedes Architekten gehören. Anhand von Architektur-Snapshots wird gezeigt, wie die Geschäftslogik ausgelagert und in unterschiedlichen Szenarien eingebunden werden kann. Der Vortrag soll die Teilnehmer ermuntern, daraus ein Muster für die Architektur ihrer regelbasierter Systeme abzuleiten.

Saubere Sache

Clean Code Developer - Wege zur besseren Software

André Fleischer

Otto GmbH & Co. KG
V13 Dienstag, 15. 9., 14:00 – 15:10 Uhr .Net Java P V Di de PDF

Was bedeutet Professionalität in der Software-Entwicklung? Was zeichnet Profis in der Software-Entwicklung aus? Reicht es aus mit Software-Entwicklung Geld zu verdienen? Doch Geld ist nicht alles, zu viel wird geklagt über schlechte Qualität und unzureichende Software. Qualitative Software entsteht durch die richtigen Prinzipien, Regeln und Praktiken in der täglichen Arbeit. Diese Bausteine stellt die Literatur in ausreichender Anzahl zur Verfügung, in die Praxis haben sie es jedoch noch nicht recht geschafft.

Dieser Vortrag stellt das Clean Code Developer Wertesystem vor, erklärt die Ideen und stellt einen Auswahl der Bausteine vor. Dabei kommen Tipps für die tägliche Arbeit und Einsatz von Werkzeugen auch nicht zu kurz. Ganz im Sinne der Agilitätsbewegung nicht planen bis zur Bewusstlosigkeit, sondern etwas tun. Einen kleinen Schritt machen in Richtung mehr Professionalität. Die Bausteine von Clean Code Developer basieren zum Teil auf dem Buch Clean Code von Robert C. Martin. Seine Ideen wurden zu den Bausteinen von Clean Code Developer zusammengefasst. Die Bausteine wurden zu Entwicklungstufen zusammengefasst.

Führung 2.0

Auf zum agilen Unternehmen

Ralf Westphal

One Man Think Tank
V14 Dienstag, 15. 9., 15:40 – 16:50 Uhr .Net Java P V Di de

Wie Software angesichts ewig unklarer Kundenwünsche zu entwickeln ist, dazu hat die Agilitätsbewegung einiges gesagt. Wo die Umwelt im Nebel liegt, macht man am besten kleine Schritte und prüft immer wieder den Fortschritt. Ein Software-Team gleicht insofern einer U-Boot-Besatzung auf Tauchfahrt mit Echolot. Mittlerweile sind allerdings nicht mehr nur die Kundenanforderungen ständig im Fluss, sondern auch die Märkte. Nicht nur Software-Teams stochern also im Nebel, sondern ihre Unternehmen. Es stellt sich also die Frage, ob nicht auch die Unternehmensführung auf Echolot umstellen sollte. Aber wie und auf welches?

In diesem Vortrag blickt Ralf Westphal über den Rand des agilen Teams hinaus auf die umschließende Unternehmensorganisation – und stellt Konzepte vor, wie die Führung von Unternehmen auf eine ihr gemäße Weise agil werden kann.

DDD auf Steroid

Composite-Oriented Programming mit Domain-Driven Design

Jens Schumann

OpenKnowledge GmbH
V15 Dienstag, 15. 9., 17:20 – 18:30 Uhr .Net Java P V Di de

Sollte das Versprechen der Wiederverwendbarkeit tatsächlich eingelöst worden sein? Mit Composite-Oriented Programming (COP) propagiert Rickard Öberg (JBoss, XDoclet, WebWork, ...) ein Programmiermodell, dass die Konzepte und Ideen des Domain-Driven Design (DDD) in wesentlichen Punkten verfeinert und dabei eine deutlich höhere Wiederverwendbarkeit im Vergleich zu konventionellen, komponenten- und auch klassenorientierten Ansätzen verspricht. Neben der starken Fokusierung auf Domain Model und dazugehörige Businessanforderungen steht in COP die Komposition einer Anwendung aus kleinsten Fragmenten im Vordergrund.

Describe me!

Modelle, Meta-Modelle und Meta-Meta-Modelle

Dr. Shota Okujava

Isento IT-Beratung & Services GmbH
V21 Mittwoch, 16. 9., 09:40 – 10:50 Uhr .Net Java P V Mi de

Im Zuge der Verbreitung der modellgetriebenen Software-Entwicklung (MDSD) gewinnen die formalen Modelle und Modelltransfromationen immer mehr an Bedeutung. Arbeitet man intensiv mit den Modellen, so ist es wichtig, nicht nur die Modelle selbst, sondern die Meta-Modelle verstehen und manipulieren zu können.

In diesem Vortrag werden die gängigen Meta-Meta-Modelle und die Möglichkeit sowie einfache Werkzeuge für die Erstellung und Manipulation der Meta-Modelle vorgestellt und live vorgeführt. Abschließend werden die Meta-Meta-Modelle miteinander verglichen und die Stärken und Schwächen diskutiert.

Spielraum

Application Space: Asynchrone verteilte Architekturen „in a Box“

Ralf Westphal

One Man Think Tank
V22 Mittwoch, 16. 9., 11:20 – 12:30 Uhr .Net Java P V Mi de

Was ist so verdammt schwierg an paralleler oder verteilter Software? Es ist die Zahl der Konzepte und Technologien, die es dafür heute zu meistern gilt. Es gibt keine Schnittmenge zwischen Technologien und Konzepten zur Strukturierung von lokalem synchronem Code, lokalem asynchronem und verteilt synchronem bzw. asynchronem Code. Es gibt kein einfaches Fortschreiten von „niedrigeren Ebenen“ zu „höheren Ebenen“. Wissen und Erfahrung können kaum übertragen werden. DI Container, System.Threading, WCF? sie alle sind komplett verschieden.

Aber Hilfe ist unterwegs! Der Vortrag demonstriert ein Stück Infrastruktur-Software, um es Ihnen leichter zu machen, von lokaler synchroner Kommunikation bis zu verteilter asynchroner Kommunikation zu skalieren. Der Application Space ist eine Plattform für komponentenorientierte Entwicklung, die die Kommunikation zwischen verschiedenen Assemblies, AppDomains, Prozessorkernen, Prozessen bis zu Maschinen und Standorten umfasst. Und all das mit demselben Programmiermodell. Basierend auf ausgereiften Technologien – die der Application Space zu einem einfacheren Ganzen synthetisiert.

Scrumptious

Agile Software-Entwicklung mit Scrum und User Stories

Ralf Wirdemann

Agiles Projektmanagement und Scrum-Coaching
V24 Mittwoch, 16. 9., 15:40 – 16:50 Uhr .Net Java P V Mi de PDF

Scrum ist ein Framework für das Management agiler Software-Projekte. User Stories sind in der Sprache des Anwenders formulierte Anforderungen an das zu entwickelnde Software-System. Die Kombination von Scrum und User Stories bringt wichtige Vorteile: Jede Story beschreibt einen konkreten Mehrwert für den Kunden, so dass der Product Owner ein Story-basiertes Product Backlog einfach und im Sinne des Kunden priorisieren kann. Die Verwendung von User Stories stellt die Basis für das agile Schätzen und Planen dar. Story-basierte Sprint-Planung und -durchführung sind zielorientiert, motivieren das Team und schaffen sichtbare und wertschöpfende Ergebnisse.

Der Vortrag beschreibt, wie beide Konzepte kombiniert und User Stories in die verschiedenen Phasen und Elemente von Scrum integriert werden. Nach einer Einführung in Scrum und User Stories werden die Grundlagen des agilen Schätzens und Planens mit Hilfe von User Stories gelegt. Aufbauend auf diesem Basiswissen beschreibt der Vortrag, wie und mit welchen Methoden User Stories geschätzt und priorisiert werden und auf die richtige Größe für die Sprint-Planung geschnitten werden.

Schöner, besser, einfacher

Gedanken über Software-Qualität

Mirko Zeibig

IST Dresden GmbH
V25 Mittwoch, 16. 9., 17:20 – 18:30 Uhr .Net Java P V Mi de PDF

Traditionelle Metriken, die nur Zahlenkolonnen liefern, geben den am Entwicklungsprozess Beteiligten meist nicht die nötigen Informationen. Viel wichtiger ist es, den Entwicklern schnell und unmittelbar eine Rückmeldung über die Qualität der eben erzeugten Software-Fragmente zu geben. Dies kann auch anhand von Kriterien erfolgen, die über die klassischen Software-Metriken hinaus gehen. Um diese Informationen zu ermitteln und darzustellen, bedarf es nicht unbedingt spezieller Software-Produkte. Genauso gut können ohnehin vorhandene Tools und Bibliotheken verwendet werden.

Dieser Vortrag beschäftigt sich damit, wie bekannte, empfehlenswerte und unorthodoxe Methoden kombiniert werden können, um die Software-Qualität eines Projektes zu verbessern.

Immer schön den Durchblick behalten

Nachvollziehbarkeit von der Analyse bis zur Software-Architektur in der modellbasierten Entwicklung

Dr. Stefan Queins

SOPHIST GmbH

André Pflüger

SOPHIST GmbH
V31 Donnerstag, 17. 9., 09:40 – 10:50 Uhr .Net Java P V Do de PDF

Treten in Ihren Projekten häufig verändernde Bedingungen auf? Möchten Sie die Ergebnisse eines Projektes in anderen Projekten wiederverwenden?

Wenn Sie mindestens eine der oben gestellten Fragen mit „Ja!“ beantwortet haben, dann wird Sie dieser Vortrag interessieren. Anhand eines Beispiels aus einem realen Kundenprojekt stellen wir Ihnen eine Vorgehensweise für die durchgängige Verwendung der Unified Modeling Language (UML) von der Analyse bis hin zur Software-Architektur vor. Wir beantworten die Frage, wie die Nachvollziehbarkeit von Entscheidungen und Änderungen hergestellt wird. Dazu zeigen wir Ihnen, welche Diagrammarten in den einzelnen Phasen eingesetzt und wie deren Inhalte miteinander verknüpft werden. Dies erleichtert dann auch die Kommunikation mit externen Partnern oder zwischen verschiedenen, an der Entwicklung beteiligten Abteilungen.

Weiche Dienste

On-Demand Anwendungen in der Praxis

Andreas Holubek

arlanis Software AG

Christian Metzger

arlanis Software AG
V32 Donnerstag, 17. 9., 11:20 – 12:30 Uhr .Net Java SOA P V Do de PDF

Software as a Service (SaaS) definiert eine neue Art der Bereitstellung und Nutzung von Software. Anwendungen werden als Menge von Services begriffen und können gemietet werden. Damit einher geht ein grundsätzlicher Wandel für die IT-Dienstleistungswelt und auch für die Entwicklung von Software-Systemen. Diesen Wandel zu erkennen und zu gestalten wird eine der großen Herausforderungen an die Firmen in der nahen Zukunft werden. Zudem müssen nicht nur IT interne Überlegungen angestellt, sondern auch Business Prozesse berücksichtigt werden.

In diesem Vortrag werden die Grundlagen und Strategien hinter „multi-tenant“ SaaS-Anwendungen gezeigt und technische Realisierungen vorgestellt. Im Weiteren wird konkret ein Beispiel eines weltweit agierenden Unternehmens vorgestellt, welches eine SaaS-Lösung seit nunmehr zwei Jahren betreibt. Hier werden sowohl ausgehend von Business-Prozessen und eingesetzten IT-Techniken die Vorteile als auch Besonderheiten einer solchen Lösung in der Einführungs- und Einsatzphase diskutiert. Der Zuhörer erhält somit einen detaillierten Einblick in die reale Welt unter dem SaaS-Paradigma und kann in einer anschließenden Diskussion direkt darauf Bezug nehmen.

Prinzen und Aschenputtel

Anatomie eines Scrum-Teams

Holger Koschek

Holisticon AG
V33 Donnerstag, 17. 9., 14:00 – 15:10 Uhr .Net Java P V Do de

In der agilen Literatur ist es fast wie im Märchen: Da werden die besten Mitarbeiter einer Firma zusammengerufen, um gemeinsam das beste Produkt aller Zeiten in vielen kleinen Schritten herzustellen – bei ständiger Zufriedenheit des Kunden. Das Team arbeitet selbstbestimmt und zielorientiert, man hilft sich gegenseitig, und alles wird gut. In der Praxis kann man froh sein, wenn man zu Projektbeginn überhaupt ein Team hat. Die Besten darf man höchstens ab und zu als Experten zu Rate ziehen. Dafür findet man die gesamte Bandbreite an Charaktereigenschaften vor: Prinzen – heimliche Anführer unter Gleichen; Ritter in goldener Rüstung – ohne sie läuft nichts, sie schlagen den Weg frei; das tapfere Schneiderlein – mit ihm ist man gut (?) beraten; Aschenputtel – das tiefe stille Wasser. Und viele weitere sonderbare Gestalten.

Lassen Sie sich verzaubern und erleben Sie, wie mit Hilfe eines Einhorns aus dem wunderbaren Land Scrum aus diesen Individuen ein schlagkräftiges Team geformt werden kann.

Meld’ dich mal wieder!

Logging, aber richtig

Jens Schauder

LINEAS Informationstechnik GmbH
J23 Mittwoch, 16. 9., 14:00 – 15:10 Uhr .Net Java P V Mi de PDF

Ein sauber strukturiertes Logging ist essentiell für den Betrieb und Support jeder Geschäftsanwendung. Dennoch wird Logging oft nur als Debugging-Tool verwendet. Aber gutes Logging ist auch die Basis für Tuning, Troubleshooting, Auditing und Monitoring.

Der Vortrag zeigt, wie man mit wenig Aufwand all diese Ziele unter einen Hut bringt.

Very Trendy

Das Java Trend-Barometer

Markus Roth

expeso GmbH
J32 Donnerstag, 17. 9., 11:20 – 12:30 Uhr .Net Java JEE P V Do de PDF

Java-Technologien haben für Unternehmensanwendungen eine große Bedeutung. Das Java-Trendbarometer analysiert aktuelle Trends und Entwicklungen in der Java-Welt. Der Fokus liegt bei der Relevanz für die praktische Arbeit in den Unternehmen. Um aussagekräftige Ergebnisse mit einem großen Praxisbezug zu erhalten, wurden für die Studie ausschließlich Java-Experten befragt, die in der Praxis mit den Technologien befasst sind. So wurde sichergestellt, dass sich die empfohlenen Technologien auch schon in der täglichen Projektarbeit bewährt haben.

In diesem Vortrag wird IT-Verantwortlichen und Java-Architekten gezeigt, welche Technologien sich tatsächlich im Projektalltag wiederfinden und reif für den Einsatz sind. Dabei werden die Ergebnisse der systematischen Analyse von der Verbreitung von Technologien, Frameworks und Open-Source-Produkten vorgestellt. Darüber hinaus werden auch Themen wie Software-Entwicklungsprozesse und die Innovationskraft beleuchtet.

KaffeeKlatsch
Bookware
MATHEMA
Sun Microsystems
Oracle
Metropolregion Nürnberg - Kommen. Staunen. Bleiben.
Nürnberger Initiative für Kommunikationswirtschaft