Einsatz von .NET in der Automatisierungstechnik Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Einsatz von .NET in der Automatisierungstechnik Die IndraWorks Engineeringsuite von Bosch Rexroth Wolfgang Hefner System Architect Microsoft Certified Solution Developer 14.04.2005 Wuppertal BRC/ESS; Wolfgang Hefner
IndraWorks Typisches Anwendungsszenario Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 IndraWorks Typisches Anwendungsszenario Engineering Bedienung Wartung Diagnose Versions- Verwaltung Projektierung Visualisierung Prozess BRC/ESS; Wolfgang Hefner
IndraWorks Anforderungen an die vertikale Integration Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 IndraWorks Anforderungen an die vertikale Integration Werksebene Workflow Management Betriebs- umgebung (IT people) Maschinen-. umgebungt (plant Datenintegration Kommunikation Fabrikebene Maschinenebene Feldebene BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Agenda Das Unternehmen Bosch Rexroth und IndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen Frameworkbasierte Produktentwicklung „.NET in Practice“ Entwicklungsprozess und Infrastruktur ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Vorgehensmodell Frameworkbasierte Produktentwicklung Inkrementale, iterative Entwicklung Hochautomatisierte Entwicklungsumgebung IndraWorks Vorgehensmodell BRC/ESS; Wolfgang Hefner
Frameworkbasierte Produktentwicklung Bisherige Ansätze Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Frameworkbasierte Produktentwicklung Bisherige Ansätze Ausgangsituation: Sammlung eigenständiger Werkzeuge (Anfang 1990er Jahre) Kein durchgängiges UI-Konzept Mehrfachentwicklung gleicher und ähnlicher Lösungen Kaum Benutzerführung im Engineering-Prozess Erster Product Line Approach 1996 (Mannesmann Rexroth) Win32-basierte 4GL / ActiveX Gemeinsamer UI-Rahmen und Kommunikationsplattform Zweiter Product Line Approach ab 2002 Zusammenführung der Produktlinien von Bosch Automation und Mannesmann Rexroth Neues .NET-basiertes Framework Erweitertes Produktportfolio Neue strategische Ziele BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Agenda Das Unternehmen Bosch Rexroth und IndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen Frameworkbasierte Produktentwicklung „.NET in Practice“ Entwicklungsprozess und Infrastruktur ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Agenda Das Unternehmen Bosch Rexroth und IndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen Frameworkbasierte Produktentwicklung „.NET in Practice“ Entwicklungsprozess und Infrastruktur ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Die Bosch Rexroth AG Hundertprozentige Tochter der Robert Bosch GmbH Zusammenschluss von Bosch Automationstechnik und Mannesmann Rexroth Alle relevanten Technologien des Antreibens, Steuerns und Bewegens Weltweite Präsenz Für Industrie- und Fabrikautomation und mobile Anwendungen BRC/ESS; Wolfgang Hefner
Die Bosch Rexroth AG im Bosch Konzern Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Die Bosch Rexroth AG im Bosch Konzern Robert Bosch GmbH Kraftfahrzeug- technik Gebrauchsgüter- und Gebäudetechnik Industrietechnik Bosch Rexroth AG BRC/ESS; Wolfgang Hefner
Rexroth Antriebs- und Steuerungstechnik Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Rexroth Antriebs- und Steuerungstechnik Film BRC/ESS; Wolfgang Hefner
Der Engineering-Prozess Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Der Engineering-Prozess Presale Layout Konfiguration Stücklisten Maschinenausführung Bemessung Rexroth Tools 3rd party Rexroth Connectivity Services Engineering Programmierung Diagnose / Optimierung Konfiguration Parametrierung Rexroth IndraWorks Fernwartung, Service, R&M Aftersale BRC/ESS; Wolfgang Hefner
Beispiel: Zeitungsdruckmaschine Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Beispiel: Zeitungsdruckmaschine Maschinenstruktur Abwickler Druckeinheit Querschneider Ethernet Installierte Automatisierungstechnik Steuerung Querschneider HMI Maschine Druckeinheit Engineering und Wartung HMI Abwickler Steuerung Abwickler BRC/ESS; Wolfgang Hefner
IndraWorks Integration von Engineering-Tools Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 IndraWorks Integration von Engineering-Tools Simulation Bedienung Visualisierung Wartung Add-Ons Navigation Programmierung Parametrierung Werkzeuge Virtuelle Geräte Integrierte Engineering-Suite BRC/ESS; Wolfgang Hefner
IndraWorks Inbetriebnahme- und Diagnoseworkbench Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 IndraWorks Inbetriebnahme- und Diagnoseworkbench BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Frameworkbasierte Produktentwicklung Quality Attributes als Architekturtreiber Verfügbarkeit Fehlererkennung Prävention Modifizierbarkeit Isolieren von Änderungen Performance Resourcenverbrauch Resourcenmanagement Sicherheit Angriffe abwehren Angriffe erkennen Testbarkeit Ein- und Ausgangsverhalten Interne Systemzustände und Abläufe Benutzerfreundlichkeit Isoliertes UI (MVC, PAC) User Initiative vs. System Initiative BRC/ESS; Wolfgang Hefner
Frameworkbasierte Produktentwicklung Übersicht Framework Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Frameworkbasierte Produktentwicklung Übersicht Framework Basiskomponenten / Common Tools Grafisches Framework Projektdaten- verwaltung Kommunikationsplattform Engineering Tool OEM Tool BRC/ESS; Wolfgang Hefner
Frameworkbasierte Produktentwicklung Architekturschichten Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Frameworkbasierte Produktentwicklung Architekturschichten Endanwender OEM OEM Rexroth Entwickler System 5 Layer Application Domain 4 Layer Abstraction 3 IndraWorks Platform Layer Service ( Application Framework ) 2 Layer Technology 1 Infrastructure Layer BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Frameworkbasierte Produktentwicklung Integration von Anwendungen ins Framework Integration von Engineering-Tools (Anwendungen) in Form von „Packages“ Separat compilierbare Einheiten Funktional zusammengehörige Programmteile Inhalt eines Packages Core-Assemblies Satellite-Assemblies Configuration Files Data Files Framework definiert Infrastruktur zur Querkommunikation zwischen Anwendungen Zentraler Servicemanager im Framework Anwendungen registrieren Services Andere Anwendungen nutzen Services Integrationschnittstellen des Frameworks sind Plug-In Schnittstellen -> Plug-in Architektur BRC/ESS; Wolfgang Hefner
Frameworkbasierte Produktentwicklung Plug - in Architektur Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Frameworkbasierte Produktentwicklung Plug - in Architektur Service Interface Extension Point Consumer Plug in Application Plug in Common Tool Plug in Desktop Basic Components Plug in Communication Project Data BRC/ESS; Wolfgang Hefner
Frameworkbasierte Produktentwicklung Plug - in Architektur Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Frameworkbasierte Produktentwicklung Plug - in Architektur Potenzial Anwendungen können Framework-Funktionalität erweitern Asynchrone Entwicklungszyklen bei Framework und Anwendungen Jedoch Anwendungen können bestehende Frameworkfunktionalität beeinträchtigen (Performance, Exceptions, Resourcen...) Framework muß zwei Schnittstellen anbieten Client API Plug-In API Framework und Anwendungen müssen die gleiche Technologie nutzen Wichtige Merkmale von.NET („Mehrwert“ gegenüber Win32/COM) Garbage Collection und sauberes Exception Handling Reflection Typsystem Side-by-side execution BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Agenda Das Unternehmen Bosch Rexroth und IndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen Frameworkbasierte Produktentwicklung „.NET in Practice“ Entwicklungsprozess und Infrastruktur ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel BRC/ESS; Wolfgang Hefner
„ .NET in Practice“ .NET in der Automatisierung - Trend Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „ .NET in Practice“ .NET in der Automatisierung - Trend Verwendungsgrad heute 2 - 4 Jahre 3 - 6 Jahre ActiveX (COM) in der Automatisierung .NET in der .NET ActiveX (COM) BRC/ESS; Wolfgang Hefner
„ .NET in Practice“ Die Erwartungshaltung beim Umstieg auf .NET Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „ .NET in Practice“ Die Erwartungshaltung beim Umstieg auf .NET Windows Systemplattform Win32 API MFC Komponenten- Technologie OLE COM/COM+ Entwicklungs- Umgebung Visual C++ Visual Basic Internet Serverstrategie IIS ASP/ASP+ Tools Microsoft .NET Enterprise Services VS.NET Assembly Technologie Framework Library Visual Basic Forms C++ MFC/ATL JScript / VBScript ASP RAD Composition Inheritance Performance Type safety HTML Procedures Concepts BRC/ESS; Wolfgang Hefner
„ .NET in Practice“ .NET als „nächste Evolutionsstufe“ Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „ .NET in Practice“ .NET als „nächste Evolutionsstufe“ WinFX .NET Win32 ? Technologie Technologie entwickelt sich schneller als Rexroth Produktzyklen Integration bestehender Komponenten Frage: Sollen existierende Win32/COM-Anwendungen auf .NET migriert werden ? .NET Win32 Win16 MS-DOS Win32 MS-DOS 1990 1995 2000 2005 2010 BRC/ESS; Wolfgang Hefner
„ .NET in Practice“ Einsatz von .NET Remoting und Webservices Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „ .NET in Practice“ Einsatz von .NET Remoting und Webservices Processor Processor Remote Server Client Client Processor .Net Remoting Local Server Remote Server Web Services Web Services Transactions Loose coupling Security .NET Remoting Performance Events State model BRC/ESS; Wolfgang Hefner
„ .NET in Practice“ Übersetzungsprozess Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „ .NET in Practice“ Übersetzungsprozess Entwicklung de-de en-us Deutsch oder Englisch Redaktionelle Bearbeitung Deutsch und Englisch en-us de-de Satellite Assemblies Übersetzung- büro Andere Sprachen BRC/ESS; Wolfgang Hefner
„ .NET in Practice“ Migration nach .NET - Lessons learned Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „ .NET in Practice“ Migration nach .NET - Lessons learned Existierende COM-Komponenten können 1:1 verwendet werden Schrittweise Migration bestehender Anwendungen .NET erhöht Entwicklungsgeschwindigkeit und Produktivität z.B. Lines of Code z.B. Garbage Collection z.B. einheitliches Programmiermodell (keine „VB-Experten“ und „C++ - Experten“) Wichtig ist: Ein schlüssiges Migrationskonzept Entwicklertraining zur Realisierung / Umsetzung des Mehrwerts .NET-Kompatible Infrastruktur (WindowsXP, Visual Studio .NET) Aber: Endanwender sind nur sehr indirekt betroffen Unmittelbare Vorteile „nur“ für Entwickler im Entwicklungsprozeß .NET ist kein „Allheilmittel“ BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Agenda Das Unternehmen Bosch Rexroth und IndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen Frameworkbasierte Produktentwicklung „.NET in Practice“ Entwicklungsprozess und Infrastruktur ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel BRC/ESS; Wolfgang Hefner
Entwicklungsprozess IndraWorks Product Line Schema Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Entwicklungsprozess IndraWorks Product Line Schema Product Line Development Product Development System Requirements << builds >> << uses >> Product Line Definition Domain Modelling Product Line Analysis Product Architecture Infrastructure Architecture Product Line Design << builds >> Extensible Tools Product Configuration Variable Assets Software Schema Product Development Customized Tools << uses >> Asset Provisioning Asset Packaging Product Line Implementation Fixed Assets Product BRC/ESS; Wolfgang Hefner
Entwicklungsprozess Evolutionary Delivery Life Cycle Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Entwicklungsprozess Evolutionary Delivery Life Cycle Software Concept Preliminary Requirements Analysis Deliver Final Version Design of Architecture / System Core Develop a Version Architecture is „ in the middle of things“ Architecture is shaped by „architectural drivers“ functional requirements quality requirements business requirements Incorporate Feedback Deliver the Version Ellicit Feedback BRC/ESS; Wolfgang Hefner
Entwicklungsprozess Zweistufige Organisation der Entwicklung Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Entwicklungsprozess Zweistufige Organisation der Entwicklung Entwicklung Produkt A Applikations- komponenten + Framework- entwicklung Framework Entwicklung Produkt B Applikations- Komponenten + BRC/ESS; Wolfgang Hefner
Infrastruktur IndraWorks Entwicklungsstandorte Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Infrastruktur IndraWorks Entwicklungsstandorte Germany Lohr Germany Dresden USA Chicago Russia Moscow Ireland Dublin India Bombay Germany Erbach Germany St. Georgen Germany Stuttgart India Bangalore Brazil Sao Paulo Bosch Standorte Zulieferer BRC/ESS; Wolfgang Hefner
Infrastruktur IndraWorks Development Repositories Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Infrastruktur IndraWorks Development Repositories Deliver Replicate Rebase Ein Primary Repository Zeitgesteuerte Replikation mit anderen Standorten Keine Standleitung erforderlich Repository BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Agenda Das Unternehmen Bosch Rexroth und IndraWorks als Inbetriebnahme- und Diagnoseworkbench von Automatisierungslösungen Frameworkbasierte Produktentwicklung „.NET in Practice“ Entwicklungsprozess und Infrastruktur ...und jetzt ? Achtung – ab hier wird’s technisch Zum Abschluß ein Blick in die Glaskugel BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „Would you tell me, please, which way I ought to go from here?“, asked Alice. „That depends a good deal on where you want to get to“, said the Cat. „I don't much care where--“ said Alice „Then it doesn't matter which way you go“, said the Cat. „--so long as I get SOMEWHERE“, Alice added as an explanation. „Oh, you're sure to do that“, said the Cat, „if you only walk long enough“. - Lewis Carroll, Alice's Adventures In Wonderland BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Domain Frameworks „Klassische“ Frameworks arbeiten horizontal (Layers) GUI Framework Data Management Framework Persistence Framework Anwendungsentwicklung verläuft weitgehend vertikal Koppeln von Frameworks durch Anwendung Business Logik wird getrieben durch Anwendungen Sehr hoher Aufwand bei der Integration (trotz gleicher Frameworks) Potenzial: Domain-Frameworks („vertikale Frameworks“) Platform based Abstraction Domain Specific Languages Business-Prozess getrieben durch Frameworks Aspektorientierung -> Software Factories BRC/ESS; Wolfgang Hefner
Domain Frameworks Platform Based Abstraction Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Domain Frameworks Platform Based Abstraction Geschäfts- modell Prozess Anforderungen: Unterstützung von Domänenmodellen Gemeinsamkeiten Berücksichtigung von Variabilitäten High Level Konzepte Tools Produkt Framework Framework Library Anwendung ruft Framework Features: Domänen- Metamodel Patterns Extension Points BRC/ESS; Wolfgang Hefner
Domain Frameworks Domain Specific Languages Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Domain Frameworks Domain Specific Languages Software Factory Schemas Domain Specific Languages OEM Software Factory Schemas Domain Specific Languages BRC/ESS; Wolfgang Hefner
Domain Frameworks Frameworksgetriebener Prozess beim OEM Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Domain Frameworks Frameworksgetriebener Prozess beim OEM Entwicklung Maschine A Komponenten + Rexroth IndraWorks Entwicklung Maschine B Komponenten + BRC/ESS; Wolfgang Hefner
Domain Frameworks Software Factories als „Produkt“ Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Domain Frameworks Software Factories als „Produkt“ Ähnliche Entwicklungsprozesse bei Rexroth und OEM Software Product Line Approach bei Rexroth und OEM IndraWorks Services und Komponenten DSL für Automatisierungs-lösungen Templates für Entwicklungsprozesse Deliverables: OEM BRC/ESS; Wolfgang Hefner
„Would you tell me, please, Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „Would you tell me, please, Service Heute: Proprietäre Kommunikationsprotokolle Notwendigkeit von Konvertern Kontinuierliche Adaption von Komponenten Kontinuierliche Adaption von Technologien Control Center HTTP DCOM HMI HMI Rexroth Protokolle Steuerung Feldbus-Protokolle BRC/ESS; Wolfgang Hefner
„Would you tell me, please, which way I ought to go from here?“ Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 „Would you tell me, please, which way I ought to go from here?“ Service Heute: Proprietäre Kommunikationsprotokolle Notwendigkeit von Konvertern Kontinuierliche Adaption von Komponenten Kontinuierliche Adaption von Technologien Control Center UDDI Server HTTP HMI HMI „Automatisierung.NET“ Einheitliches Kommunikations-protokoll und WebServices Durchgängige vertikale Integration Software Factories DSLs Aspektorientierung Steuerung Feldbus-Protokolle BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Zusammenfassung Die Automatisierungsindustrie befindet sich im ActiveX-Zeitalter Einfluß „neuer“ Konzepte aus der Unternehmens-IT Der Einsatz von .NET erhöht spürbar die Produktivität In .NET 1.0/1.1 bisher keine revolutionären konzeptionellen Neuerungen Frameworkbasierte Entwicklung, Iterativer Entwicklungsprozess und hochintegrierte Umgebung sind die Grundpfeiler einer erfolgreichen Enterprise-Lösung Software Factories, Domain Specific Languages (und Aspektorientierung) bieten die Möglichkeit eines Quantensprungs in Produktivität und Durchgängigkeit BRC/ESS; Wolfgang Hefner
Microsoft Architects Forum 2005 Wuppertal - ".NET in practice" 14.04.2005 Vielen Dank ! Wolfgang Hefner Phone +49 (0) 93 52/40-44 74 mailto:wolfgang.hefner@boschrexroth.de www.boschrexroth.com BRC/ESS; Wolfgang Hefner