CA Plex and Microsoft Windows Presentation Foundation (WPF) A Technology Preview 8C Rob Layzell CA Aligned LEFT ON COVER ONLY
Terms of This Presentation This presentation was based on current information and resource allocations as of September 23, 2009 and is subject to change or withdrawal by CA at any time without t notice. Notwithstanding anything in this presentation to the contrary, this presentation shall not serve to (i) affect the rights and/or obligations of CA or its licensees under any existing or future written license agreement or services agreement relating to any CA software product; or (ii) amend any product documentation or specifications for any CA software product. The development, release and timing of any features or functionality described in this presentation remain at CA s sole discretion. Notwithstanding anything in this presentation to the contrary, upon the general availability of any future CA product release referenced in this presentation, CA will make such release available (i) for sale to new licensees of such product; and (ii) to existing licensees of such product on a when and if-available basis as part of CA maintenance and support, and in the form of a regularly scheduled major product release. Such releases may be made available to current licensees of such product who are current subscribers to CA maintenance and support on a when and if-available basis. In the event of a conflict between the terms of this paragraph and any other information contained in this presentation, the terms of this paragraph shall govern. 2 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
For Informational Purposes Only Certain information in this presentation may outline CA s general product direction. All information in this presentation ti is for your informational purposes only and may not be incorporated into any contract. CA assumes no responsibility for the accuracy or completeness of the information. To the extent permitted by applicable law, CA provides this document as is without warranty of any kind, including without limitation, any implied warranties or merchantability, fitness for a particular purpose, or non-infringement. In no event will CA be liable for any loss or damage, direct or indirect, from the use of this document, including, without limitation, lost profits, lost investment, business interruption, goodwill, or lost data, even if CA is expressly advised of the possibility of such damages. 3 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
About the Speaker >Rob Layzell Software Architect, Software Engineering, CA Primarily responsible for CA Plex development Live and work in San Francisco Bay Area > 17 years experience in software development and IT Worked with Obsydian since 1.5.2 Joined Synon through SPS Atlanta in 1996 Plex developer for 11 years Patterns Connector technologies Runtimes (especially WinC, WinNTC and.net) 4 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Agenda >Why Do YOU Need a New Client? > Windows Presentation Foundation Explained XAML, Code-behind, XBAP, ClickOnce > CA Plex r6.5 WinC/Java/RPG client migration Rich client development Web enablement > What s Currently Missing? > Summary 5 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Why Do YOU Need A New Client?
Why Do You Need a New Client? A Brief History of Plex Client Generators Obsydian 1.0 WinC WinWidgetsg COOL:Plex 4.5 Java Swing 1994 1995 1996 1997 1998 1999 2000 2001 2002 2009 Obsydian 1.5 RPGIII DDS Advantage Plex 5.0 WinC MFC 7 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Why Do You Need a New Client? No New Client in 10 Years! Why? > Lack of compelling technologies MFC Implemented for WinC at Plex r5.0 We enjoy Visual Studio/MFC upgrades as much as you! No support for new Windows 7 technologies WinForms Glorified.NET wrapper for MFC ASP.NET Already have Web solutions (Websydian/ADC) 8 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Why Do You Need a New Client? WPF Technology Benefit #1 > Separation of Design from Functionality 9 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Why Do You Need a New Client? WPF Technology Benefit #2 > Simplified deployment: XCOPY ClickOnce 10 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Why Do You Need a New Client? WPF Technology Benefit #3 > Rich-Web Enablement XBAP XAML Browser Applications Silverlight > Support for Windows 7 Technologies Built-in Enhanced Accessibility Multi-touch Good: Common Event Handling No effort to implement Better: Multi-touch touch Event Handling Little effort to implement Best: Full multi-touch UI design Large-scale effort 11 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Why Do You Need a New Client? The Other CA Plex Benefits > Backwards compatibility built in from the ground up >UNICODE enabled Not ANSI-code page > No direct reliance on Visual Studio Use freely available.net Framework SDKs Does NOT mean you cannot use Visual Studio! 12 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Windows Presentation Foundation Explained
Windows Presentation Foundation Explained The Basics > Introduced in.net 3.0 > Framework for rendering UIs for Windows-based applications > Uses DirectX for UI rendering rather than GDI Hardware acceleration Modern UI features (Glass-effects, scaling) Multimedia enabled (Videos on buttons) > Primarily uses XAML to define UI Elements 14 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Windows Presentation Foundation Explained What is XAML? > extensible Application Markup Language XML-based language for declaring object structures. Used in: Windows Presentation Foundation / Silverlight Windows Workflow <Window x:class= DemoApp.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height= 140" Width= 130"> <Canvas> <Button Canvas.Left= 30" Canvas.Top= 40" Name="button1" Width= 50" Height= 50">Hello!</Button> </Canvas> </Window> > Don t Worry About Binding! We ll take care of it for you 15 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Windows Presentation Foundation Explained What is XBAP? > XAML Browser Applications Full WPF Applications Hosted on IIS Server or Azure Cloud Run in a trusted Sandbox environment in Browser Generally designed to run in Internet Explorer only > Silverlight Subset of WPF Framework Designed for Cross-platform deployment (OS X, Linux, Windows Mobile, Symbian) 16 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Windows Presentation Foundation Explained What is ClickOnce? > ClickOnce 17 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5
CA Plex r6.5 Client/Server Partitioning Client PC Server PC 19 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5 Demo #1 CA Plex r6.1 Packager Tool 20 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5 Generating WPF functions > Use existing FNC language SYS/C# > Functions that scope a Panel generate: XAML (Panel definition) Code-behind C# source (Function AD) Input / Output parameter interface C# source Resource file 21 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5 Application Customization > Each application contains a generic App.xaml file > Contains default rendering for WPF Controls > Edit via: Visual Studio 2008 MS Expression Blend 2 22 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5 Building WPF functions > Build as you would any other C# function: Default Code Library (Quick and dirty) Model Code Library objects (Best practice) > Build designed for XCOPY deployment > Create Executable to run WPF application Executable bootstraps.net Runtime Standard.NET config file (like WinC INI) Plex.NET Runtime dependencies copied All function classes compiled into Default Code Library 23 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5 CA Plex.NET WPF Runtime Plex-generated C# Application Code Library Assemblies, Executables, Configuration Files Plex Base.NET Runtime (Plex.Obrun.dll) Plex WPF Runtime (Plex.ObWpf.dll) Other UI Runtimes? Silverlight? Plex Common Runtime Plex Controls Runtime Plex API Runtime Ribbon Control Library WPF Toolkit Library 24 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5 Demo #2 - A Plex-generated XAML Application > XAML/Code-behind generation > Application Look and feel customization 25 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5 Plex Page Objects > New Page object in Plex > Similar to a Panel Scoped to a Function Use Same Editor Similar Control Types General XAML > Compile as XBAPs Run in Browser Use Browser Navigation 26 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
CA Plex r6.5 Demo #3 - Plex-generated XBAPs 27 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
What s Missing?
What s Missing? (But Planned for 6.5) > One-to-one parity with WinC/Java (for Panel objects) > Support for.net Custom Components on Panels/Pages > ClickOnce Deployment > New Variants for Patterns: ACTIVE UIBASIC UISTYLE 29 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
What s Missing? (That we re sat on the fence about) > WCF Proxy (via Code Libraries) > New Pattern Libraries for Page objects: WebBasic WebStyle WebFoundation??? > New Variants for OBASE > Enhanced CSAPI Library 30 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Summary
Summary > We ve already come a long way from Plex r6.1! > WPF is here to stay > What can you do now? Start migration today! Plex Packager Tool Alpha available now Nothing you do now is throw-away Server won t change Remember - backwards compatibility is built-in! 32 September 23-25, 2009 Copyright 2009 CA. All rights reserved.
Q&A