The Power of PowerDesigner - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

The Power of PowerDesigner

Description:

Iterating on object collections. Manipulating text ... Collection. Variable. VBScript ... Browse object collections from the model down to any object using ... – PowerPoint PPT presentation

Number of Views:2098
Avg rating:3.0/5.0
Slides: 50
Provided by: fell54
Category:

less

Transcript and Presenter's Notes

Title: The Power of PowerDesigner


1
The Power of PowerDesigner
Frank IrnichSybase GmbHFrank.Irnich_at_sybase.com
2
Agenda
  • PowerDesigner Overview
  • PowerDesigner for PowerBuilder Features Summary
  • Applying PowerDesigner extensibility features to
    extend its traditional usage
  • Version 10 PowerDesigner and PowerBuilder
    together
  • PowerDesigner 10

3
PowerDesigner Overview
  • Why Modeling?
  • PowerDesigner History
  • PowerDesigner Features Summary

4
Why Modeling? An analogy
Would you build a house without a blueprint ?
The Architect validatesthe concept with the
client From these drawings, a technical diagram
will be derived
The Contractors will take this blueprint and
optimise it based on technical considerations
linked to the Architectural View
5
The Application Development Process
A Business Process Model describing the Software
Development Lifecycle
  • Starts with Understanding Business Needs
  • IT Manager then
  • Matches business needs with Technological
    Requirements
  • Manages the IT development team a
    multi-discipline team
  • Most IT shops separate DB development from
    Application development
  • Specific tools needed for each population/role

6
Design Tools Market Landscape
Three markets converging
Business ProcessModeling(emerging standards)
Business AnalystsLOBsCIOs
TraditionalE/R DataModeling(James Martin)
Object-orientedModeling (UML techniques)
Designers/Analysts,DBAs, Database Developers
Designers/Analysts,Developers, Programmers
7
Target Audience
Business-centric
IT-centric
IT Directors and ManagersSenior Analysts
Designers
CxOsLOBsBusiness Analysts
Application- Designers - Developers -
RDBMS - Designers - Developers -
8
PowerDesigners Rich History
Old Generation Completed commitment to
Traditional E/R
1996
1989
1990
1991
1992
1994
v2 French Only
v4Enterprise Edition
v5DFD Process Modeling
v6Warehouse Modeling
v1
v3 Multiple Models
New generation - Reinvented and Refined - UML,
Business Modeling
1999
2000
2001
Q4/2002
Q1/2002
v7First UML
v7.5Enterprise Repository
v8.0Enhanced UML
v9.0J2EE in UMLNew Warehouse Business
Process Modeling
v9.5All UML diagrams.NET in UML Integration
9
PowerDesigner 9.5
Integrated Enterprise Modeling Tool
Business-centric Control Flow diagram
BusinessAnalysis
Businesscentric
UML modeling (all diagrams)
Entity/Relationship modeling (and DW
extensions)
AnalysisDesign
Repository
Templates, Generic Generators,UML profiles,
model-to-model generation
ITcentric
RDBMS structuresObject Relational mapping Java,
.Net, XML, PB... support IDEs App Server support
Development
Source Sybase
10
Link and Synchronize All Models
PowerBuilder, Java, J2EE XML, WSDL
Object-Oriented Model (OOM)
Business Process Model (BPM)
C, C, VB.Net, Web Services, etc...
ebXML, MessageBroker, Ohio
O/R Mapping
Conceptual Data Model (CDM)
Physical Data Model (PDM)
Forward Engineering
ODBC
Reverse Engineering
Database SQL Script (DDL)
Round-trip Engineering
Import/Export
11
PowerDesigner 9.5.2 Features Summary
  • PowerDesigner is a good enterprise modeling tool
  • Leading Data Modeling tool
  • Complete UML support (9 UML diagrams)
  • Business Process Modeling features
  • Good Repository
  • Integration with Integration Orchestrator,
    Message Broker, ebXML
  • Design and generate code for PowerBuilder, Web
    Services, J2EE (EJB, O/R mapping), .NET, etc.
  • Support all major databases (more than 30)
  • Support major application servers (EAServer,
    WebLogic, WebSphere)
  • Integration with IDEs (Eclipse, JBuilder 8, Ant)
  • Supports Model Driven Architecture (MDA)
  • Extensibility (Profile, Code generator, VBScript,
    OLE automation)

12
PowerDesigner 9.5.2 for PowerBuilder
  • PowerDesigner for PowerBuilder Features Summary
  • PowerBuilder Applications Design and Development
  • Reverse Engineering PowerBuilder Applications
  • Designing PowerBuilder Applications
  • Generating PowerBuilder Applications
  • Extending PowerDesigner Features
  • Future Direction

13
PowerDesigner for PowerBuilder Features Summary
  • PowerDesigner 9.5.2 introduces complete support
    for all PowerBuilder objects reverse engineering
    and generation
  • Support libraries (.pbl) and source files (.sr)
  • Support PowerBuilder 6, 7, 8 and 9
  • PowerBuilder tool palette for creating new
    objects
  • Model verification
  • Generate reverse PowerBuilder extended
    attributes in PDM

14
Problem Statement
  • Most of PowerBuilder developers dont do design.
  • Many PowerBuilder applications dont have a good
    architecture and there is no documentation.
  • It is difficult to maintain and evolve when the
    developers are gone.

15
PowerDesigner Value Proposition
  • Help users to understand how the application was
    developed.
  • Help users to visually see the relationship
    between objects.
  • Help users to improve existing code, refactor the
    code.
  • Regenerate PowerBuilder application.
  • Generate documentation (report) in HTML and RTF
    format.

16
Reverse Engineering PowerBuilder Applications
  • Application, User Object, Structure, Function,
    Window, Proxy are represented by class structure
  • For the other objects (DataWindow, Query,
    Pipeline, ), the source code is preserved and
    can be regenerated
  • Both libraries (.pbl) and source files (.sr) can
    be reverse engineered

17
Reverse Engineering PowerBuilder Applications
  • You could select reverse engineering options.
  • You could use PowerBuilder System Classes and PFC
    library models to represent parent classes that
    give you the complete definition of the System
    Classes.

18
Displaying PowerBuilder Objects in Class Diagram
  • A class diagram shows packages, inheritances,
    associations, dependencies, attributes,
    operations.
  • Each library is represented by a package.
  • A stereotype and a mini icon shows the type of
    object.
  • The dependencies show which menu or data window
    is used by which window.
  • Window, user object, application, structure,
    function and proxy are represented as classes and
    the code is regenerated from the class
    definition.
  • Other objects are represented as classes by the
    source code is kept and are not regenerated from
    the class definition.
  • Controls are represented by inner classes.

19
Example of a Class Diagram
20
Designing PowerBuilder Applications
  • You can create, modify or delete objects or
    links.
  • You can use the PowerBuilder tool palette to
    create objects.
  • You could define interfaces and implement
    interfaces but the interfaces will not be
    generated.
  • You can preview the PowerBuilder code.
  • You can modify the PowerBuilder code in the code
    preview window.
  • You can write specification in RTF format. You
    could use Word to edit the description or
    annotation.
  • You can generate reports in HTML or RTF formats
    for documentation.

21
Defining Inheritances
  • A parent class could be a shortcut representing a
    class defined in another model for example for
    system classes.

22
Defining Events
  • Events are represented as operations.
  • An Event could be an operation with the event
    stereotype, with a language event or with an
    extended attribute EventID (pbm_).

23
Overriding Properties
  • In the Attributes tab of the class property
    sheet, the Inherited button allows you to select
    the properties to override.

24
Previewing PowerBuilder Code
  • Open the properties of an object. Select the
    Preview tab.
  • For Window, User Object, Application, Structure,
    Function and Proxy, the code is generated from
    the class definition. You could change the code
    in the Preview window (add attributes, modify
    operations, ), the model will be updated to
    reflect the changes.
  • For DataWindow, Menu, Query, , you could change
    the code in the Script tab

25
Verifying the Model
  • You could use the Check Model function to verify
    if the model is well defined.
  • There are PowerBuilder specific checks.

26
Generating PowerBuilder Applications
  • You can generate PowerBuilder objects into
    libraries or source files.
  • You can select the objects you want to generate.

27
Extending PowerDesigner Features
  • You could use various extensibility features of
    PowerDesigner to extend PowerDesigners
    PowerBuilder generation and reverse engineering
    capabilities
  • Profile
  • GTL (template based code generator)
  • VBScript, OLE automation (PowerBuilder, .NET,
    Java, C, )
  • Plugins

28
The profile concept
  • PowerDesigner uses the profile concept to
    extend/cutomize the definition of its metamodel
  • Profiles are used for
  • Creating categories of objects (stereotypes and
    criteria)
  • Customizing the graphics of objects
  • Adding additional metadata to objects (extended
    attributes)
  • Defining new or modified generation capabilities
    (templates)
  • Defining custom checks, menue-items, events,
    etc..
  • Profiles appear in all DBMS, object languages and
    extended model definitions

29
The profile concept
  • Profiles appear in all DBMS, object languages and
    extended model definitions

PowerDesginer Public MetaModel

Object Language / DBMS
BPM/FRM
Profile Concept
Extended Model Definition(s)
Target Model (OOM, PDM, etc...)
30
GTL Generation Template Language
  • Easy to use template language
  • Mixes generated text with object properties
    enclosed in characters
  • Provides macros for
  • Specifying conditional logic
  • Iterating on object collections
  • Manipulating text
  • VB Scripts may be embedded in GTL templates for
    complex logic
  • Supports inheritance and polymorphism

31
GTL Generation Template Language
  • Sample
  • Class code attributes
  • .foreach_item(Attributes) .if (visibility
    ) public DataType Code .elseif
    (visibility -) .//... .endif.next(\n)

Macro
Collection
Variable
32
VBScript
  • Manipulate PowerDesigner objects in memory and
    perform any action on them
  • Browse object collections from the model down to
    any object using PowerDesigners metamodel
  • You can
  • Load and save models
  • Gain access to object definitions
  • Perform checks
  • Change object property values
  • Create or delete objects with the wanted
    characteristics

33
OLE automation
  • VBScript allows you to write a VBScript and
    execute it inside PowerDesigner to manipulate
    PowerDesigner objects
  • OLE automation allows you to write a program to
    manipulate PowerDesigner objects from outside
  • You can use any programming language that
    supports COM to access PowerDesigner objects,
    create user-interfaces, integrate PowerDesigner
    functions in your program, etc...

34
Future Direction
  • PowerDesigner 10.0 will support tight integration
    with PowerBuilder 10
  • PowerBuilder 10 will be able to embed
    PowerDesigner views inside PowerBuilder
  • PowerBuilder will be able to control
    PowerDesigner
  • PowerDesigner will generate complete PowerBuilder
    application code (post 10.0)

35
PowerDesigner Roadmap
  • PowerDesigner Athena (V10, December 2003)
  • Integration with PowerBuilder
  • Integration with Eclipse (Q1 2004)
  • Major BPM improvements
  • XML model
  • Fully support MDA
  • PowerDesigner Minerva (end of 2004)
  • Enterprise features (requirements, impact
    analysis, )
  • XML and Web Services in database
  • UML 2.0
  • Design patterns

36
Business Process Modeling Improvements
  • Add targets (Analysis, BPEL4WS , ebXML,
    Integration Orchestrator, MessageBroker, )
  • Support simulation (use Simul8 engine)
  • Support Service-Oriented modeling
  • Model, generate reverse BPEL4WS
  • Better integration with Integration Orchestrator
    (round-trip)
  • Better support ebXML BPSS

37
XML Model
  • Design, reverse engineer and generate XML Schema
    and DTD
  • Define mapping between XML Schema and database
    schema
  • Define mapping between XML Schema and objects
  • Support databases XML features

38
Other Athena Features
  • Support C and VB .NET reverse engineering
  • Improve Web Services support (support Apache
    Axis, )

39
PowerDesigner and PowerBuilder Together
Summary
  • PowerDesigner A Plugin Component in PowerBuilder
    10
  • Reverse Engineer From PowerBuilder
  • Design and Generate PowerBuilder Code Using
    PowerDesigner
  • Navigation Between PowerDesigner and PowerBuilder

40
PowerDesigner and PowerBuilder Together
PowerDesigner A Plugin Component in PowerBuilder
10
  • PowerBuilder Plugin Manager Manages Plugin
    Components
  • A plugin component can enable or disable by
    Plugin Manager
  • PowerDesigner Feature Will Be Available Only When
    It Is Turned On

41
PowerDesigner and PowerBuilder Together
PowerDesigner A Plugin Component in PowerBuilder
10
42
PowerDesigner and PowerBuilder Together
Reverse Engineer From PowerBuilder
  • Select Reverse Engineer From PowerBuilder
    Target Context Menu
  • Select PBLs and Objects to Reverse Engineer

43
PowerDesigner and PowerBuilder Together
Design and Generate PowerBuilder Code Using
PowerDesigner
  • Create a New PowerBuilder OOM (Object Oriented
    Model)
  • OOM name maps to PowerBuilder target name
  • Package name maps to PowerBuilder pbl name

44
PowerDesigner and PowerBuilder Together
Design and Generate PowerBuilder Code Using
PowerDesigner
  • Add Classes and Do Design
  • Although PowerBuilder doesnt support interface
    yet, user can define interface in PowerDesigner,
    then implement interface in a PowerBuilder user
    object.

45
PowerDesigner and PowerBuilder Together
Design and Generate PowerBuilder Code Using
PowerDesigner
  • Check Model
  • Check model is customized for PowerBuilder, for
    example, it will check whether a object name is
    valid PowerBuilder name, a pbl can only have one
    application object
  • Check model results are printed in output window

46
PowerDesigner and PowerBuilder Together
Design and Generate PowerBuilder Code Using
PowerDesigner
  • Generate PowerBuilder Code
  • Select packages and classes from OOM to generate
    PowerBuilder code
  • If it is the first time to generate PowerBuilder
    code, a new PowerBuilder target will be created

47
PowerDesigner and PowerBuilder Together
Navigation Between PowerDesigner and PowerBuilder
  • From PowerBuilder to PowerDesigner
  • Select Open Class Diagram from pbl context menu
    to open class diagram for this pbl
  • Select Find in Class Diagram from PB object
    context menu to find the corresponding class in
    class diagram
  • From PowerDesigner to PowerBuilder
  • Double click a class in class diagram to launch
    PowerBuilder painter to open corresponding PB
    object
  • Select Find in PowerBuilder Workspace from
    class context menu to find the corresponding
    PowerBuilder object in PowerBuilder workspace

48
Question Answer . . .
49
The Power of PowerDesigner
Frank IrnichSybase GmbHFrank.Irnich_at_sybase.com
Write a Comment
User Comments (0)
About PowerShow.com