Design Patterns 1 FME UC 2007 Design Patterns FME Workbench.

Slides:



Advertisements
Similar presentations
IT Works so Uwork(s): Letting Technology work for You!!!
Advertisements

3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Application Graphic design / svetagraphics.com 01 FRAMEWORK data service.
KYN Know Your Network A network rollout and infra-structure management tool 360Cellutions.
1 Manufacturing Solutions Division AutoCAD Electrical 2007 What’s New? AMS | CAD Consulting Group
CCMDB 7.2.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
The Premier Software Usage Analysis and Reporting Toolset Maximizing Value for Software Users.
A Data Management Life-Cycle By David Ferderer Project Chief Chris SkinnerContractor Greg GuntherContractor
NODEM reporter Flexible Information Generating Tool for Asset Managers.
Introduction to Databases and Database Languages
IPUMS to IHSN: Leveraging structured metadata for discovering multi-national census and survey data Wendy L. Thomas 4 th Conference of the European Survey.
Managing Data Interoperability with FME Tony Kent Applications Engineer IMGS.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Unit 18: Database Modelling
1 © Prentice Hall, 2002 Physical Database Design Dr. Bijoy Bordoloi.
An Introduction to Software Architecture
Profiling Metadata Specifications David Massart, EUN Budapest, Hungary – Nov. 2, 2009.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
European Interoperability Architecture e-SENS Workshop : Collecting data for the Cartography Tool 7-8 January 2015.
© 2008 IBM Corporation ® IBM Cognos Business Viewpoint Miguel Garcia - Solutions Architect.
Data Interoperability Basics Bruce Harold & Dale Lutz.
Chapter 6 1 © Prentice Hall, 2002 The Physical Design Stage of SDLC (figures 2.4, 2.5 revisited) Project Identification and Selection Project Initiation.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
DEPICT: DiscovEring Patterns and InteraCTions in databases A tool for testing data-intensive systems.
ICare Software Architecture Description: Principles, Decisions and Contradictions Team A Aggarwal Ashutosh Alungh Suman Appiah Stella Baddam Bhaskar Baghaie.
Esri UC 2014 | Technical Workshop | Esri Roads and Highways: Integrating and Developing LRS Business Systems Tom Hill.
Introduction to Databases Trisha Cummings. What is a database? A database is a tool for collecting and organizing information. Databases can store information.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Carey Probst Technical Director Technology Business Unit - OLAP Oracle Corporation.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 CMPT 275 High Level Design Phase Modularization.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
1 Introduction to Databases. 2 Examples of Database Applications u Purchases from the supermarket u Purchases using your credit card u Booking a holiday.
The Use of Metadata in Creating, Transforming and Transporting Clinical Data Gregory Steffens Director, Data Management and SAS Programming ICON Development.
Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.
LBR & WS LAB 1: INTRODUCTION TO GIS.
OO Design Roshan Chitrakar. Analysis to Design Do the RIGHT thing Do the RIGHT thing Requirement Analysis Requirement Analysis Domain Modeling with addition.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
1 Chapter 5:Design Patterns. 2 What are design pattern?  Schematic description of design solution to recurring problems in software design and,  Reusable.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Making Friends with Your Public Works Department Using GIS Sherry Coatney Intergraph Corporation
3 Copyright © 2010, Oracle. All rights reserved. Product Data Hub: PIM Functional Training Program Setup Workbench Fundamentals.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Towards Unifying Vector and Raster Data Models for Hybrid Spatial Regions Philip Dougherty.
Subscribers – List Model
CONVERSION OF CAD DATA TO GIS LAYERS Challenges and Techniques Compiled by: Tope Bello Summer 2005 Instructor POEC 6387 GIS Workshop Professor Ronald Briggs.
Copyright © 2007, Oracle. All rights reserved. Managing Items and Item Catalogs.
3 Copyright © 2006, Oracle. All rights reserved. Building an Analytic Workspace.
Designing classes How to write classes in a way that they are easily understandable, maintainable and reusable 6.0.
Key Features Advantages over PDF sharing Use Cases Clients
Modern Systems Analysis and Design Third Edition
Ikan Software NV CWD4ALL
Modern Systems Analysis and Design Third Edition
Software Design and Architecture
Introduction to Databases Connolly and Begg
Accessing Spatial Information from MaineDOT
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
An Introduction to Software Architecture
Overview of Oracle Site Hub
Modern Systems Analysis and Design Third Edition
Palestinian Central Bureau of Statistics
Presentation transcript:

Design Patterns 1 FME UC 2007 Design Patterns FME Workbench

Design Patterns 2 Introduction  Design Patterns for FME Workbench  Inspired by Emil Vulpin, formerly of Smallworld Australia  What is a design pattern?  In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design.  It is a description or template for how to solve a problem that can be used in many different situations.

Design Patterns 3 Introduction  The goal of the Design Patterns are to create FME Workbench designs that are:  as generic as possible to all FME Features, and  reduce duplication of effort.  There are several benefits including:  Minimal amount of Workbench transformers  Reduced Workbench complexity  Improve Workbench maintainability

Design Patterns 4 Pattern Catalog  Central Workflow Approach  External Attribute Schema Map  External Attribute Value Map  External Style Metadata Map  Bookmarks  FME Custom Transformers  FME Custom Formats

Design Patterns 5 Pattern 1 Central Workflow Pattern  The goal of the Central Workflow Pattern is to create an FME Workbench that is:  as generic as possible to all FME Features and  reduce duplication.  There are several benefits including:  Minimal amount of Workbench transformers  Reduced Workbench complexity  Improve Workbench maintainability  The Central Workflow pattern is applicable to most FME Workbench designs and should be considered before creating a new Workbench

Design Patterns 6 Pattern 1 Central Workflow Pattern  Multiple source features enter the central workflow from a single point of entry (Sampler or Cloner)  FME Transformers are added to perform logic in a way that minimizes duplicate transformers  A FeatureTypeFilter is used to distribute features to the appropriate Destination Feature Type Definition FME Workbench

Design Patterns 7 Pattern 1 Central Workflow Pattern  Don’t do this!

Design Patterns 8 Pattern 1 Central Workflow Pattern  Do This!

Design Patterns 9 Pattern 2 External Attribute Schema Map  The goal of the External Attribute Schema Map pattern is to:  simplify the mapping of attribute names between source & destination feature types  Used for complex attribute schema mapping definitions  An alternative to common FME Transformers such as AttributeRenamer and AttributeCopier  Benefits of this pattern include:  Simplification of the creation & maintenance of the attribute schema mapping definition  Reusability across different FME Workbench sessions  Simplifies the internal attribute connections functionality within FME Workbench for reasonably large FME Workbenches  Easily reversible!

Design Patterns 10 Pattern 2 External Attribute Schema Map  FME Workbench reads an external attribute schema map definition  The definition defines the mapping from source attribute name to destination attribute name, i.e.: sw_attributedestination_attribute min_road_idID nameName road_typeRoad_Type  The external attribute schema map definition can be defined in a number of tabular formats, e.g. Excel, CSV, Access, Oracle, MySQL etc. FME Workbench

Design Patterns 11 Pattern 2 External Attribute Schema Map 

Design Patterns 12 Pattern 2 External Attribute Schema Map

Design Patterns 13 FME SchemaMapper Transformer  Wizard with 4 primary parts:  Schema Mapping database selection Schema Mapping database selection  Filter definition  Index Mapping (Feature Type Mapping)  Attribute Mappings & Value Mapping  At least 11 different solution variations  See sample workbench and spreadsheetsample workbench spreadsheet

Design Patterns 14 Pattern 3 External Attribute Value Map  The goal of the External Attribute Value Map pattern is to:  simplify the mapping of attribute values (enumerated lists or domains) between source & destination feature types  This pattern is best suited for Workbenches that require complex and/or large attribute value mapping definitions  Benefits of this pattern include:  Simplify the creation & maintenance of the attribute value mapping definition  Promote reusability across different FME Workbench sessions  Easy to create the reverse mappings!

Design Patterns 15 Pattern 3 External Attribute Value Map  The Workbench reads an external attribute value map definition  The definition defines the mapping from source attribute value to destination attribute value for any FME Feature, i.e. sw_carriage_typeCarriage_Type Dual CarriageDivided Highway Single CarriageDivided Road Single TrackUndivided Road  The external attribute value schema map definition can be defined in a number of tabular formats, e.g. Excel, CSV, Access, Oracle, MySQL etc. FME Workbench

Design Patterns 16 Pattern 4 External Style Metadata Map  The goal of the External Style Metadata Map pattern is to:  Provide a implementation for exporting styling information to stylable formats with Workbench  This pattern is applicable to all Workbench designs that require the export of style information  The export of style metadata is dependent on the destination format’s level of support for style metadata and FME’s level of support for writing to that format, i.e. ESRI SHAPE no style support, MapInfo has limited style support and AutoCAD DWG more comprehensive style support.  The pattern allows for easy external modification of the styling aspects of the translation by non-FME users  The names of the columns should correspond to the FME format attributes for the target format  E.g. mapinfo_line_style, autocad_lineweight

Design Patterns 17 Pattern 4 External Style Metadata Map Smallworld CST FME Workbench

Design Patterns 18 Pattern 5 Bookmarks  Bookmarks allow you to visually group related areas of a workspace  A naming convention should be used to improve navigation and findability  By employing bookmarks, the pattern will:  Improve understandability  Ease maintenance by improving navigation  Example Workspace Example Workspace

Design Patterns 19 Pattern 6 FME Custom Transformers  FME Custom Transformers allow you to create a single transformer to replace a sequence of transformers from an existing workspace  Therefore, the goal of the FME Custom Transformers pattern is to provide a generic set of FME Custom Transformers that simplify the use of FME Workbench for common related designs  By doing so, the pattern will:  Simplify and improve reusability of common solutions  Encapsulate complexity from less experienced FME users

Design Patterns 20 Pattern 7 FME Custom Formats  FME Custom Formats allow you to wrap different source schemas and transform them to a single common schema  Subsequent workspaces can be written to work with the common input schema  Details of the individual sources and thus hidden and encapsulated  By doing so, the pattern will:  Allow parallelism during development  Ensure local modifications have minimum impact  Result in simpler workspaces

Design Patterns 21 Conclusion  Patterns provide guidelines for efficiently solving recurring types of problems with FME  Applying patterns can make you more productive  Applying patterns consistently can  Reduce maintenance efforts  Improve understandability