Innovation Needs Models Enterprise Architecture and Standardization to survive as innovation leader and/or to have the chance to innovate Agenda

• Introduction incl. some backgrounds • Modeling, but in the right way • How to tell the IT, DevOps, Software Engineers? • How to tell LOB people? • Enterprise Architect Peter Lieber, privat

• Born: 10th June 1973 • Married to Sonja Lieber-Krivanek, 3 children, 2 step children • Dogs, cats, ducks, chicken, rabbits, fishes, guinea pig, … • Parallel Entrepreneur • President of the Association of Austrian Software Industry (www.voesi.or.at) • Initiative SoftwareMakers (www.softwaremakers.at)

Sparx Services United Kingdom

Sparx Systems Sparx Systems China Sparx Services & Servcies Central Sparx Systems Spain Sparx Systems Japan

Sparx Systems

Sparx Services

Sparx Systems Sparx Systems HQ HQ Sparx Systems Argentina Sparx Systems Sparx Systems Sister&Service Companies New Zealand uc Sparx Ökosystem

Resellers

Value Added Resellers

Sister Companies

HQ

Sparx Systems

Sparx Systems Central Europe

LieberLieber Software Global Customer Base FINANCE INSURANCE TELECOM AUTOMOTIVE

CitiGroup Skandia, Vodafone Toyota Wells Fargo PMI, T-Mobile Mitsubishi Bank of America Zurich, China Mobile BMW JPMorgan Chase First Motorola, TRW National Australia Bank American, Orange General Motors Royal Bank of Canada Fidelity National AT&T Chrysler Royal Bank of Scotland Verizon Daimler Mercedes Reserve Bank of NZ NTT DoCoMo Volkswagen

Aer’spce & Def UTILITIES ELECTRONICS MEDIA

BAE Systems Duke Energy Nintendo Walt Disney Smith's Aerospace Scottish Power LG Electronics Time Warner Lockheed Martin Origin Energy Konica Minolta Comcast BOEING Sierra Pacific Sony Tribune General Dynamics Edison International Panasonic SES Global EADS Southern California Edison Sharp Northrup Grumman Exelon Corp Olympus Thales ComEd Nikon Rolls Royce Pico Energy Bombardier TECHNOLOGY BIOTECH RETAIL GOVERNMENT

Hewlett Packard Pfizer Wal-Mart Canada Honeywell, Novartis Kroger United States, Microsoft Sanofi-aventis Target Australia Roche Holdings Canon, Walgreen Abbott Laboratories Europe IBM AstraZeneca The Home Depot India Toshiba GlaxoSmithKline Costco United Kingdom ORACLE Merck & Co CVS Caremark Colombia SAP Eli Lilly & Co Best Buy Sweden Teva Pharmaceutical Ind Safeway Amgen SUPERVALUE What is modelling?

LieberLieber Software Types of architecture (IT industry)

• Performance • Application • Security • Business • Software • Data • Solution • Enterprise • System • Hardware • Technical • Information • Technology • Infrastructure • Web • Network • … • Platform Well-defined structure is when you…

• Can see the solution from multiple levels of abstraction

• Understand the big picture (context)

• Understand the logical containers

• Understand the major components used to satisfy the important user stories/features

• Understand the notation, color coding, etc. used on the diagrams

• Can see the traceability between diagrams (views)

Understand how the significant elements fit together. Abstraction vs. Details of a Model Abstraction

Sketch

Communication

Blue Print

Details Well-defined vision is when you…

• Understand the major technology decisions • Understand the implementation strategy (frameworks, libraries, APIs, etc.) • Can visualize the structure

Provide firm foundations and a vision to move forward. Why “describe” architecture?

• To help design a complex system • To design a complex system, you need to find ways to understand the various “things” that are in that system. • To document your work • Sooner or later, someone else will want to understand what you have done. • Carefully-selected architectural descriptions are an effective way of conveying understanding. • To surface “unknowns” • Often, you don’t know what you (really) know until you try and describe (or explain) it • Some of these “unknowns” are genuine project risks

Focus on creating architectural descriptions where it counts. Quality Attributes are Architectural Drivers

• Benchmarks that describe a system’s intended behavior within the environment in which it was built. • Requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.

Cross-cutting concerns, service-level agreements, etc. • Availability - Is it available when and where I need to use it? • Installability - How easy is it to correctly install the product? • Integrity - Does it protect against unauthorized access and data loss? • Interoperability - How easily does it interconnect with other systems? • Performance - How fast does it respond or execute? • Reliability - How long does it run before experiencing a failure? • Recoverability - How quickly can the user recover it from a failure? • Robustness - How well does it respond to unexpected operating conditions? • Safety - How well does it protect against injury or damage? • Usability - How easy is it for people to learn and use?

Quality Attributes Important to Users • Efficiency – how well does it utilize processor capacity, disk space, memory, bandwidth, and other resources? • Flexibility – How easy can it be updated with new functionality? • Maintainability – How easy is it to correct defects or make changes? • Portability – How easily can it be made to work on other platform? • Reusability – How easily can we use components in other systems? • Scalability – How easily can I add more users, servers, or other extensions? • Supportability – How easy will it be to support after installation? • Testability – Can I verify that it was implemented correctly?

Quality Attributes Important to Developers Visual modeling

LieberLieber Software An Analogy

• Customer requirements • a two-car garage • 2 bedroom apartment • fit the design into the surrounding terrain • lots of natural light

Assignment - Architect a House …voila  What is Visual Modeling?

• Is the representation of systems and objects of interest using graphical languages for the purpose of communication, documentation, analysis, and forward engineering activities

• Visual modeling languages may be general-purpose e.g. UML e.g. Archimate (for EAM purposes) What is UML?

• Unified Modeling Language • Industry-standard graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems • Non-ambiguous • Readily understood by all stakeholders • UML is just a language for expressing ideas and NOT a method, methodology or process. But it can serves as a basis for different methods • UML is not dependent on any language or technology • Supported by many modeling tools • Provides multiple diagrams to model a system from several perspectives or at multiple level of abstraction UML Theory section publicly accessible

http://www.sparxsystems.eu/UML_Basics.pdf Legend «domain» Not changed form UML 1.X UML Diagram Partly changed in UML 2.X New in UML 2.X

«domain» «domain» Structural Behavioural Diagram Diagram

«domain» «domain» «domain» «domain» Class Diagram Object Diagram Interaction Use Case Diagram Diagram

«domain» «domain» «domain» «domain» «domain» Deployment Component Sequence Communication State Diagram Diagram Diagram Diagram Diagram

«domain» «domain» «domain» «domain» «domain» Package Composite Timing Diagram Interaction Activity Diagram Diagram Structure Overview Diagram Diagram

UML Profile

Overview of UML Diagrams • What an Actor (User, external System) is able to do with my system under construction!

Use Case Diagram • How an Actor (User, external System) is able to perform a Use Case.

Activity Diagram State Diagram Sequence Diagram

Process View StateView Interaction View

Behavioural Models • What Concepts are involved to fulfil the Use Cases?

Class Diagram Component Diagram Package Diagram

Structural Models 1/2 • Shows internal structure of a system

Composite Structure Diagram

Structural Models 2/2 What is SysML?

• Systems Modeling Language • General-purpose graphical modeling language for specifying, analyzing, designing, and verifying complex systems • Provides graphical representations with a semantic foundation for • modeling system requirements, • behavior, • structure, • and parametrics. • Represents a subset of UML 2 with extensions needed to satisfy the requirements of the UML™ for Systems Engineering RFP Legend «domain» UML and SysML SysML Diagram UML + Extensions Sys ML

«domain» «domain» «domain» Requirements Diagram UML Composition Structural Diagram Behavioural Diagram Structural Diagram + Extensions

UML Class Diagram «domain» «domain» + Extensions Block Definition Internal Block «domain» «domain» Diagram Diagram Activity Diagram Use Case Diagram

UML Activity Diagram + «domain» «domain» Extensions Package Diagram Parametric Diagram «domain» «domain» Sequence Diagram State Diagram

Overview of SysML Diagrams What is Archimate?

• ArchiMate is a modeling language for describing enterprise architectures

• Broader scope than UML. UML focus is for software engineering

• Supports EA frameworks like TOGAF & Zachman

• Can be used to create IAF views and artifacts

• ArchiMate viewpoints are more detailed than TOGAF’s architecture artifacts – TOGAF does not provide descriptions and examples ArchiMate Framework

Products & Services Business Business Functions Organisation Information Processes

Application Data Applications

Technology Technical Infrastructure

Information Behavior Structure ArchiMate Concept ArchiMate Structure - Services

Customer

External business service Business

Internal business service

External application service Application

Internal application service

External infra. service Technology

Internal infra. service ArchiMate Structure - Layers

• Layers • Business Layer - Offers products and services to external customers, which are realized in the organization by business processes performed by business actors • Application Layer - Supports the business layer with application services which are realized by (software) applications. • Technology Layer - offers infrastructure services (e.g., processing, storage, and communication services) needed to run applications, realized by computer and communication hardware and system software. • Generic Metamodel For Each Layer

External Service Interface

Object Behavior Structure Internal element element Information Behavior Structure Metamodel – Business Layer Language Notations Business Layer - Example

Actors Tier 1 Help Desk Agent

IT Help Desk

Assigned To Assigned To Exception Management Process

Triggers Flows Flows Flows SMI Events Create Event Correlate & Analyze Triage & Resolve Close Exception Exceptions (Automatic) Event (Automatic) Exception Ticket T i cke t Metamodel – Application Layer Metamodel – Technology Layer Model and View

• In case of graphical languages, it has to be distinguished between the model and various views

• A view is a projection of a model that shows it from a specific perspective or position and omits objects that are not relevant for this perspective.

Model

User View/ Model-Repository (e.g. database) Diagram Tracebility

• Connectors • Different Traceability Views • Relationship-Matrix Wrap Up - Visual Modeling

• Facilitates communication within the team members • Just remember the saying “A picture is worth a thousand words“ • Increases understanding of complex systems • UML standard specifies 14 diagrams • Can be used to model a system from the perspective of different stakeholders as well as the software development life cycle phase activities. • SysML represents a subset of UML 2 with extensions needed to satisfy the requirements of the UML™ for Systems Engineering RFP • Archimate represents a profile of UML2 for Enterprise Architecture Modeling, but in the right way

LieberLieber Software Challenges in the introducing of modeling

approaches Method

“A fool with a tool is Fundamental Expert just a fool” Learing curve Critical area “A genius without a tool is not productive” Language Start Experience

Novice

Advanced Professional

Tool How to become successful with models

Target Strategic Yes - we use Target everything approach. This typically means modelling Iterative fails in the Method Approach company Too complex not enough acceptance and internal support Language Start Experience

Tool Without a plan Some people play Time around Why do I need models? Who needs modeling?

LieberLieber Software Why do I need models?

• IOT/Apps • Safety/Security • LOB • Person Data, Credit Card,…. (e.g. EU GENERAL DATA PROTECTION REGULATION)  Standards  State of the Art

Decides if you go to jail (if anybody dies or becomes insured) or if you pay penalties… Who Needs Modeling?

Information Management Cyber Physical Systems Application Development … Daimler Siemens Swisscom Software AG Allianz AXA VW BMW Concordia Commerzbank Airbus Conti SAP … Bosch … Companies collecting, controlling Manufacturers Companies developing and managing information of embedded devices application software

• Insurance companies • Automotive • Web Applications • Telecommunication • Healthcare • Mobile Applications companies • Defense • Desktop Applications • Banks • Railway • etc. • etc. • Customer Electronics • etc. Information Management– Modeling Challenges

Cyber Physical Application Information Management Systems Development

EA Consultancy for Model Based Development Methodologies, etc. UML, BPMN, Archimate, TOGAF, … … UML Profiles / MDG Modeling Assistants Tools Supporting Technologies Model Validation Modeling Methodologies … Code Generation

Tools Integration Configuration Modeling Infrastructure Management Variant Management …

Hosting of Performance Reduction of IT Modeling Infrastructure Data Security Costs …

Cyber Who Information Application Physical Management Development Needs Modeling Systems Traceability is the Model Intelligence

Component Requirement realize

realize

Requirement

Traceability = Intelligence

Disconnected Cells  NOT INTELLIGENT Disconnected Model  NOT INTERPRETABLE How to tell LOB people? That the need models

LieberLieber Software It is all about industry standards

• Smart Grid (IEC TC57, CIM) • E-Health (EHR,CDA,BRIDG, ISO 215) • Geospatial (ISO/TC 211, CEN/TC 287, OGC) • Retail (ARTS UnifiedPOS) • Government (eDAIS) • Automotive (AUTOSAR) • Intelligent Transport Systems (DATEX II) • Social Security (Medicaid InformationTechnology Architecture – MITA) • E-Commerce (OASIS Unified Business Language) • Geology (GeoSciML, SoilML, WaterML) • Biodiversity (European Distributed Institute of Taxonomy) • Rail Transport (TRAX) • EDI (ASC X12) • Financial Services Messaging (SWIFT/SEPA) • Ports (EFFORTS) • Telecommunications (eTOM, eTAM, SID) • Object Management Group (UML, XMI, DDS, MPMN, UPDM etc) • NIEM • … Enterprise Architect Model | Design | Construct | Test | Deploy | Manage Enterprise Architect is a plattform Model Driven Generation (MDG) Technology

Metamodel Transformation • Profiles • Code Generation Templates • Patterns • Model Transform. Templates • Diagram Types • Toolboxes Reports • Tagged Value Types • RTF Templates • Task pages • Linked Document Templates • Shape scripts • Images • Model Views • Scripts • Searches • Workspace Layouts

Enterprise Architect

Doors UML SysML BPMN SYSMOD etc. Link etc.

MDG Technologies Add Ins etc. Diagram Editor Diagram Scripting Document Browser Project Code Generators Automation Interface Engines Generators EA Data Model

EA DATA (eap, DB, XMI) A modelling plattform

UML 2.5 / SysML 1.5 Enterprise Architect

Analysis & Design Implementation Testing Rollout Requirements

Tracing, Documentation, Validation, Simulation, etc.

Project Management

Polarion, MS Office MS Visual Studio Eclipse XMI, csv etc. DOORS, … Make EA your tool

• Model Patterns • Custom MDG • Own Toolbar, Own Restricted Elements focused on customer needs, … • Reusable Assets • Model Validation • Tracebility • Life Line • Heatmaps Contact

…Peter Lieber… …You will find me on-the-line…