400 likes | 639 Views
Allfusion ™ Plex Putting Patterns to Work. Data Management and Application Development Session Code: DA480SN. Willem de Vries: Remia C.V. Simon Jasperse: Kiboko. Agenda. Introduction Positioning Allfusion Plex Patterns at Remia Weaving patterns: explanation and demo
E N D
Allfusion™ Plex Putting Patterns to Work Data Management and Application Development Session Code: DA480SN Willem de Vries: Remia C.V. Simon Jasperse: Kiboko
Agenda • Introduction • Positioning Allfusion Plex • Patterns at Remia • Weaving patterns: explanation and demo • Some pattern-examples and their use • Session Summary
Introduction • Software Development at Remia • Development as main IS strategy • iSeries • Model-based Data-centric approach • Using 2E since 1990 • Allfusion Plex • Modernization of user interface • Multi-platform support • Logical “next step” from Allfusion 2E • Great support for abstraction: Patterns
Agenda • Introduction • Positioning Allfusion Plex • … model driven • Patterns at Remia • Weaving patterns: explanation and demo • Some pattern-examples and their use • Session Summary
Positioning Allfusion Plex – Model Driven • Model Driven Architecture: concepts • Defined by Object Management Group • Layered Models • Platform Independent Model • Platform Specific Model • Code Model • Definable Transformations from model to model • Based upon Model Object Facility
Positioning Allfusion Plex – Model Driven (cont’d) • Model Driven Architecture: a picture
Positioning Allfusion Plex – Model Driven (cont’d) • Model Driven Architecture: status • Important parts under development • Transformation language not standardized • No Action language • Tool support • Mostly ‘stub’-generation • Tools often Platform Specific: Java
Positioning Allfusion Plex – Model Driven (cont’d) • Allfusion Plex and MDA • Proprietary model • Openness by Model-API and XML export • Platform Independence based on Variants • Generation ‘based on’ Plex Meta language • Websydian • Remia’s ‘early’ Model XML-export • Mature • Action Diagramming
Plex: Advantage of Model Driven Allfusion Plex delivers today what MDA promises for a distant future……
Agenda • Introduction • Positioning Allfusion Plex • … pattern based • Patterns at Remia • Weaving patterns: explanation and demo • Some pattern-examples and their use • Session Summary
Positioning Allfusion Plex - Reuse • Reuse concepts in Software engineering • Modules: result of decomposition • Components: base for ‘re-’composition • Classes: inheriting properties and behaviour • Aspects: separation of concerns • Patterns: high level design experience
Positioning Allfusion Plex: Aspects • Croscutting functionality • Logging • Tracing • Weaving implementation • AspectJ for Java-implementation • Currently submitted to Eclipse
Positioning Allfusion Plex - Patterns • Originally ‘documentation’ of proven design • Erich Gamma, Martin Fowler, David Hay • Pattern-efforts mainly directed towards ‘cataloging’ • Patterns mostly have structure and behaviour • Currently popular concept • Attention for process (POAD) • Support in development tools starting off
Positioning Allfusion Plex – Patterns(cont’d) • Building blocks of Patterns in Allfusion Plex • Framework: Foundation • Multiple inheritance • Edit Points • Replacement • Meta Language • Weaving-mechanism resembling Aspect Orientation • Joining based on ‘structure’ and ‘naming’
Weaving Patterns – Multiple Inheritance .. is a .. Basic Entity Entity +Commit Download Entity Upload Entity .. is a .. .. is a .. Gambling Profit
Agenda • Introduction • Positioning Allfusion Plex • Patterns at Remia • Weaving patterns: explanation and demo • Some pattern-examples and their use • Session Summary
Patterns at Remia • Restructuring of Base Layer • Separation of Logical and Physical datamodel • Explicit structuring of Replacement objects • Patterns ‘ by design ‘ • Data-replication • User Managed Data • XML • Patterns ‘ by discovery ‘ • Combobox • Work-management: Documentflow, Proces/activity
Rel_ RelType RelType _Char Owner_ Characteristic Characteristic _Data Owner_ Data Patterns at Remia – Example Structure Relation Type Relation DataOwner Characteristic Data (format) ListData
Agenda • Introduction • Positioning Allfusion Plex • Patterns at Remia • Weaving patterns: explanation and demo • Some pattern-examples and their use • Session Summary
Weaving Patterns – Requirements Data Synchronization pattern • Exchange data between platforms • a-synchronous environment (off line account managers) • Data consolidation • handling data conflicts • match user (autonumber) keys • XML exchange • uses Remia XML pattern • isolate design changes from implementation
Weaving Patterns – Design • Data Synchronization Pattern Upload Download
Weaving Patterns – Demo • Implementing a Data Transfer Entity • Impact on functions and Dbase Structure • Meta coding to call all upload functions • Example GamblingProfit is a Download & Upload entity
Weaving Patterns – Demo • GamblingProfit is a Basic entity
Weaving Patterns – Demo • GamblingProfit is a Download entity
Weaving Patterns – Demo • GamblingProfit is a Upload entity
Patterns at Remia– DataPattern Demo • Implementation Demo http://pilat.free.fr/svgopen/
Weaving Patterns – Design • Data Synchronization Pattern Upload
Patterns at Remia - Results Data Synchronization pattern • Applied on 130 entities • Ease of use and maintenance • Exchange with external partners through XML
Agenda • Introduction • Positioning Allfusion Plex • Patterns at Remia • Weaving patterns: explanation and demo • Some pattern-examples and their use • Session Summary
File Open SVG viewer Data Combo Edit Detail Use registry Fetch wrapper SVG writer Patterns at Remia - Presentation Demo • SVG Demo
Connect the dots Patterns at Remia - Presentation Demo • Inherit from the pattern functions
Patterns at Remia - Presentation Demo • Scalable Vector Graphics Demo
Patterns at Remia: Buiding SVG WriteSVG WriteXML Data.xml Style.xsl Processing Style Database Graph .svg Processing Style
Agenda • Introduction • Positioning Allfusion Plex • Patterns at Remia • Weaving patterns: explanation and demo • Some pattern-examples and their use • Session Summary
Session Summary • Flexibility and patterns • Balancing between developer and user • Weighing reusability and initial investment • Application building • Strong need for Impact Analysis • Huge number of objects • Practical results • Fast implementation when needed • Small team delivers
References • Anneke Kleppe e.a.: MDA Explained, The model driven architecture: practice and promise • David S. Frankel: Model Driven Architecture: Applying MDA to Enterprise Computing • Sherif M. Yacoub / Hany H. Ammar: Pattern-Oriented Analysis and Design: Composing Patterns to Design Software Systems
Questions & Answers devries@remia.nl simon@kiboko.nl
Session Evaluation Form After completing your session evaluation form ... ... please place it in the basket at the back of the room.
Information Solutions in the Exhibit Center • Database and Application Development • Booth 254 features: • High Capacity Mainframe Database for Mission-Critical Business • Business Solutions on Enterprise Linux • Booth 348 features: • Data Warehouse, Metadata Management, and Testing • CA Technology Services • Application Life Cycle • Booth 216 features – Change & Configuration Management • Booth 310 features – Data & Process Modeling • Portal & Business Intelligence • Booth 232 features – Optimize Business Process Efficiency • Booth 338 features – Monitor & Manage Your Business • Technology Perspectives • Booth 556 features – Wireless Solutions • Booth 558 features – Delivering Value with SOA and Web Services • Booth 652 features – Compliance Management • Booth 754 features – The Linux Generation
CA Technology Services • Discover a world of training solutions • Learn how CA’s learning solutions can help you meet your business objectives • Visit CA Technology Services in the exhibition center, at ca.com/education, or call us at 1-800-237-9273 • Learn how CA Technology Services can help your business • Visit CA Technology Services in the exhibition center or on the web at ca.com/services