• No results found

CA Plex and Microsoft Windows Presentation

N/A
N/A
Protected

Academic year: 2021

Share "CA Plex and Microsoft Windows Presentation"

Copied!
33
0
0

Loading.... (view fulltext now)

Full text

(1)

CA Plex and Microsoft

Windows Presentation

Foundation (WPF)

Foundation (WPF)

A Technology Preview

8C

R b L

ll

Rob Layzell

CA

Co-branded Logo Footprint Aligned LEFT ON COVER ONLY Must Fit Within This Space

(2)

Terms of This Presentation

This presentation was based on current information and resource allocations as of September 23 2009 d i bj t t h ithd l b CA t ti ith t ti

23, 2009 and is subject to change or withdrawal by CA at any time without 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, 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

b d il bl t t li f h d t h t b ib t CA may be made available to current licensees of such product who are current subscribers to CA

(3)

For Informational Purposes Only

Certain information in this presentation may outline CA’s general product direction. All i f ti i thi t ti i f i f ti l l d t b information in this presentation 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.

even if CA is expressly advised of the possibility of such damages.

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(4)

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

(5)

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

g

Rich client development

Web enablement

> What’s Currently Missing?

> Summary

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

y

(6)

Why Do YOU Need A

Why Do YOU Need A

New Client?

(7)

Why Do You Need a New Client?

A Brief History of Plex Client Generators

y

•Obsydian 1.0 •WinC

•WinWidgets

•COOL:Plex 4.5 •Java

•Swing

g

1994

1995

1996

1997

1998

1999

2000

2001

2002

2009

•Obsydian 1.5 •RPGIII

•DDS

•Advantage Plex 5.0 •WinC

•MFC

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(8)

Why Do You Need a New Client?

No New Client in 10 Years! Why?

y

> Lack of compelling technologies…

MFC

– Implemented for WinC at Plex r5.0

W j

Vi

l

St di /MFC

d h !

– 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

(9)

Why Do You Need a New Client?

WPF Technology Benefit #1

gy

> Separation of Design from Functionality

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(10)

Why Do You Need a New Client?

WPF Technology Benefit #2

gy

> Simplified deployment:

XCOPY

ClickOnce

(11)

Why Do You Need a New Client?

WPF Technology Benefit #3

gy

> 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 Event Handling Multi touch Event Handling Little effort to implement

Best:

Full multi-touch UI design Large-scale effort

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(12)

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

y

(13)

Windows Presentation

Windows Presentation

Foundation Explained

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(14)

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)

(15)

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>

> Don’t Worry About Binding! We’ll take care of it for you…

</Canvas> </Window>

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(16)

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

Designed for Cross-platform deployment (OS X, Linux,

(17)

Windows Presentation Foundation Explained

What is ClickOnce?

> ClickOnce

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(18)

CA Plex r6.5

CA Plex r6.5

(19)

CA Plex r6.5

Client/Server Partitioning

g

Client PC

Server PC

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(20)

CA Plex r6.5

(21)

CA Plex r6.5

Generating WPF functions

g

> 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

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(22)

CA Plex r6.5

Application Customization

pp

> Each application contains a generic App.xaml file

> Contains default rendering for WPF Controls

> Edit via:

> Edit via:

Visual Studio 2008

(23)

CA Plex r6.5

Building WPF functions

g

> 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

pp

Executable ‘bootstraps’ .NET Runtime

Standard .NET config file (like WinC INI)

All function classes compiled into Default Code Library

Plex .NET Runtime dependencies copied

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

23 September 23-25, 2009 Copyright © 2009 CA. All rights reserved.

(24)

CA Plex r6.5

CA Plex .NET WPF Runtime

Pl

t d C# A

li ti

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

Plex

(

p

)

Ribbon

WPF

Silverlight?

Plex

(25)

CA Plex r6.5

Demo #2 - A Plex-generated XAML Application

g

pp

> XAML/Code-behind generation

> Application ‘Look and feel’ customization

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(26)

CA Plex r6.5

Plex Page Objects

g

j

> New Page object in Plex

> Similar to a Panel

Scoped to a Function

Use Same Editor

Similar Control Types

General XAML

> Compile as XBAPs

(27)

CA Plex r6.5

Demo #3 - Plex-generated XBAPs

g

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(28)

What’s Missing?

What s Missing?

(29)

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

> ClickOnce Deployment

> New Variants for Patterns:

ACTIVE

ACTIVE

UIBASIC

UISTYLE

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(30)

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 Libraryy

(31)

Summary

Summary

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

(32)

Summary

> We’ve already come a long way from Plex r6.1!

> WPF is here to stay

> What can you do now?

> What can you do now?

Start migration today!

Plex Packager Tool – Alpha available now

g

p

Nothing you do now is throw-away

– Server won’t change

(33)

Q&A

Q&A

Co-branded Logo Footprint Aligned Right Edge Must Fit Within This Space

References

Related documents

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

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

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

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

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

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

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

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