SWIFTStandards (UNIFI – ISO 20022) “MDA-like” approach Frank Vandamme Tools, Products & Methodology SWIFTStandards OMG, Montreal, August 2004 OMG_SWIFTMDA_200408_v2.ppt Slide 1 Agenda Introduction Development methodology Development infrastructure Implementation infrastructure OMG_SWIFTMDA_200408_v2.ppt Slide 2 Introduction What is SWIFT? Society for Worldwide Interbank Financial Telecommunication Community of +7,000 financial institutions in +200 countries: – Payments (e.g. cross-border, domestic, corporate) – Securities (e.g. equity, fixed income, funds) – Treasury (e.g. foreign exchange, swaptions) – Trade Services (e.g. letters of credit) Mission: “To enable interoperability between our members, their market infrastructures and their end-user communities” Concrete activities: – Establish secure and reliable network application – Standardize information flows (messages) OMG_SWIFTMDA_200408_v2.ppt Slide 3 Introduction What is UNIFI (ISO 20022) Standard developed under ISO/TC68 (financial arm of ISO) Modelling-based approach to develop standardised messages Used in the financial industry Described in 5 parts: – Part 1: overview of the main components – modelling-based approach – repository – – – – Part 2: registration bodies Part 3: modelling guidelines Part 4: XML design rules Part 5: Reverse engineering approach OMG_SWIFTMDA_200408_v2.ppt Slide 4 Introduction Drivers for the MDA approach Stability – Business-driven approach Interoperability and convergence – End-to-end based on common semantics Neutrality – Acceptable common description for existing standards Flexibility – Cater more easily for market practices and market evolution Predictability, consistency and speed – Foster reuse and automation capabilities Note: not used by SWIFT for application generation OMG_SWIFTMDA_200408_v2.ppt Slide 5 Standards development methodology Overview Three layered approach Business-oriented Communication needs End-to-end view Formal notation (UML) Representation-neutral Implementation-neutral Foster reuse (dictionary) Involve industry experts OMG_SWIFTMDA_200408_v2.ppt Understand the business Business Analysis What is the communication problem Requirements Analysis Define the Logical solution Refine the solution Logical Technical Analysis Design Design Physical implementation (automated) Technical Implementation Slide 6 Standards development methodology Business analysis Understanding the business – Processes: what activities are happening – Roles: who (functionally) is involved – Data: what information is used Results of business analysis – Business activity diagrams (roles & activities) – Business component diagram (data) OMG_SWIFTMDA_200408_v2.ppt Understand the business Business Analysis What is the communication problem Requirements Analysis Define the solution Refine the solution Logical Logical Technical Analysis Design Design Physical implementation (automated) Technical Implementation Slide 7 Standards development methodology Requirements analysis Understand the business Business Analysis What is the communication problem Requirements Analysis Define the solution Identifying communication requirements per activity – Who owns the information – Who can provide the information – What are the required information flows Identifying additional requirements and constraints – Which types of physical actors can play which roles – Market specific information requirements Results of requirements analysis – Activity diagrams with required information flows – Requirement description documents – Business test scenarios (high level) Refine the solution Logical Logical Technical Analysis Design Design Physical implementation (automated) OMG_SWIFTMDA_200408_v2.ppt Technical Implementation Slide 8 Standards development methodology Logical analysis Identifying the transactions (collaborations) – Sequence of messages – Pre- and post-conditions, triggers, … Identifying the messages – Message granularity guidelines – Message content (based on business elements) – Message usage authorisation / restrictions – Business cases for “variants” Results of logical analysis – Sequence diagrams – Message scope & content – Business test scenarios (refined) OMG_SWIFTMDA_200408_v2.ppt Understand the business Business Analysis What is the communication problem Requirements Analysis Define the solution Refine the solution Logical Logical Technical Analysis Design Design Physical implementation (automated) Technical Implementation Slide 9 Standards development methodology Logical design Identifying the message structure – Identify message components – Include required “technical” elements – Define structural message organisation – Formalise required business rules Results of logical design – Message definitions (structure) – Message components – Business & technical test cases (detailed) OMG_SWIFTMDA_200408_v2.ppt Understand the business Business Analysis What is the communication problem Requirements Analysis Define the solution Refine the solution Logical Logical Technical Analysis Design Design Physical implementation (automated) Technical Implementation Slide 10 Standards development methodology Technical design & implementation Preparing the physical implementation – Add syntax-specific information (e.g. tags) Applying the syntax-specific design rules – UML-to-XML generation Results of technical design & implementation – XML Schemas – XPL rules – Message samples OMG_SWIFTMDA_200408_v2.ppt Understand the business Business Analysis What is the communication problem Requirements Analysis Define the solution Refine the solution Logical Logical Technical Analysis Design Design Physical implementation (automated) Technical Implementation Slide 11 Standards development infrastructure Standards repository ISO 20022 Standards Repository BUSINESS PROCESS CATALOGUE DATA DICTIONARY are described with BUSINESS CONCEPTS BUSINESS AREAS are derived from MESSAGE CONCEPTS support execution of use BUSINESS TRANSACTIONS DATA TYPES OMG_SWIFTMDA_200408_v2.ppt Slide 12 Standards development infrastructure Data Dictionary DATA DICTIONARY Business Concepts Data Types Message Concepts Business Association relates is derived from Business Component Message Component is derived from Business Element Message Element Rule Rule Code is of type Business Actor plays role Business Role OMG_SWIFTMDA_200408_v2.ppt is value of is of type Data Type is based on Data Type Representation Slide 13 Standards development infrastructure Business Process Catalogue Business Process Catalogue Business Area Business Process supports execution of Business Transaction Business BusinessTransaction Transaction uses Message Flow Message Flow Message Flow Diagram Diagram Diagram OMG_SWIFTMDA_200408_v2.ppt uses Message Message Message Definition Definition Definition Syntax Syntax Syntax Message Message Message Scheme(s) (s) Scheme Scheme (s) Slide 14 Standards development infrastructure UML profile: used diagrams Which diagrams are used (business layer)? – Business Analysis – Use Case diagram: highest level decomposition in business processes – Activity diagram (swim lanes): details of business processes: activities & roles – Class diagram: dictionary (business components, data types, actors) – Requirements Analysis – Activity diagram (swim lanes): required information flows – Complemented by textual information: e.g. links with business components OMG_SWIFTMDA_200408_v2.ppt Slide 15 Standards development infrastructure UML profile: used diagrams Which diagrams are used (logical layer)? – Logical Analysis – Sequence diagram: description of message flow (business transactions) – Class diagram: messages – Logical design – Class diagram: dictionary (message components, data types) – Class diagram (hierarchical): message structure No additional diagrams used in technical/physical layer OMG_SWIFTMDA_200408_v2.ppt Slide 16 Standards development infrastructure UML profile: stereotypes identify concepts Some examples of stereotyped concepts: – Classes – – – – – – <<BusinessComponent>> <<MessageComponent>> <<ChoiceComponent>> <<DataTypeRepresentation>> (<<Text>>, <<Identifier>>, …) <<Message>> <<Actor>> – Associations – <<IsVersion>> – <<IsVariant>> – <<IsAlternativeFor>> OMG_SWIFTMDA_200408_v2.ppt Slide 17 Standards development infrastructure UML profile: tagged values add information Some examples of tagged values – Synonyms (business terms) – Business components – Business elements – Messages – Administrative information – Requestor – Registration status – Supplementary information for data types – Code list owner – Format (facets) – Traces between “business layer” and “message layer” – Business components to Message components OMG_SWIFTMDA_200408_v2.ppt Slide 18 Standards development infrastructure UML profile: platform specific information Through stereotypes, tagged values or properties Some examples – Operations – “Injectable” in validation engine (via “export control property”) – SWIFTNet error code (tagged value) – Message elements – XML tags (tagged value) – Data types – <<XMLAttirbute>> (to be included in Schema) – <<Property>> (for documentation only) OMG_SWIFTMDA_200408_v2.ppt Slide 19 Standards development infrastructure Tool (“Standards Workstation”) UML modeling tool for modeling activities Add-ins to support and enforce methodology & guidelines – Traceability between “business layer” and “logical layer” – Formal rules – Conformance checking – Completeness checking Link with data dictionary Import and export of sample data Standards Workstation OMG_SWIFTMDA_200408_v2.ppt Slide 20 Standards development infrastructure GUI for formal rules OMG_SWIFTMDA_200408_v2.ppt Slide 21 Standards development infrastructure GUI for formal rules OMG_SWIFTMDA_200408_v2.ppt Slide 22 Standards development infrastructure Supporting process Continuous quality control – Check non-automated rules & guidelines – Check conformance with approval process – Freeze models for audit purposes – Check consistency across phases – Are all requirements covered – Are all messages based on approved requirements – … Mandatory review activities – By registration authority – By business experts Change log entries for dictionary components OMG_SWIFTMDA_200408_v2.ppt Slide 23 Standards implementation infrastructure Automated generation: overview Internal Repository Documentation “Publication” Financial Dictionary Business Process Catalogue Standards Workstation “Injection” SWIFTNet OMG_SWIFTMDA_200408_v2.ppt XML Schemas Message samples Repository instance (XML) More to come … •XML Schemas •Validation rules •Samples Slide 24 Standards implementation infrastructure Automated generation: documentation HTML (available) and PDF (in development) User view and implementer view Combines model information with “auxiliary documents” (= text) “Click-able” sequence diagrams Message tree structure (expand / collapse) Dictionary information (data types, …) Delta documentation (for versions and variants) Generated sample messages OMG_SWIFTMDA_200408_v2.ppt Slide 25 Standards implementation infrastructure Automated generation: XML Schema Consistency in XML – Business information XML element/value – Metadata information XML attribute (usually not in instance) ComplexTypes are globally unique / elements are local Traceability from XML to repository (based on XML element name and/or XML type name) Message identifier = aaaa.bbb.ccc.dd (business area - message number – variant – version) Character encoding = UTF-8 Data types: Text, Code, Identifier, Amount, Rate, Quantity, Indicator, DateTime XML facets: Pattern, Length, MinLength, MaxLength, TotalDigits, FractionDigits, MinInclusive, MaxInclusive, MinExclusive, MaxEclusive OMG_SWIFTMDA_200408_v2.ppt Slide 26 Standards implementation infrastructure Automated generation: repository UML repository is converted to: – Relational database – Basis for web query tool on “www.swift.com” and on “www.iso20022.org” – Also used for impact analysis – XML instance – Prototype OMG_SWIFTMDA_200408_v2.ppt Slide 27 uestions Answers & frank.vandamme@swift.com Slide 28