Developers matter 23rd May 2006, Helsinki, Finland.

Post on 20-Dec-2015

221 views 2 download

Tags:

Transcript of Developers matter 23rd May 2006, Helsinki, Finland.

Developers matter

23rd May 2006, Helsinki, Finland

Developers matter, a Borland Seminar

Gerard van der Pol DTG BDS Regional Evangelist

Agenda

1200 – 1230 Borland / Delphi Update

1230 – 1330 Extreme Developer Productivity

1330 – 1345 Break

1345 – 1445 Using Together with Delphi

1445 – 1545 Build and run Model Driven Software

1545 – 1600 Q&A

1600 – End

Borland Update

What the IDE Spin-off really means

Borland Announcements :

February 8th 2006 Borland acquires Segue Software Pursuing a “spin-out” independent developer

company – “DevCo”

March 20th 2006 Announcement of new “DevCo” General Manager

– Nigel Brown Borland EMEA VP

April 2006 Developer Tools Division Established

Divesting of IDE Product Lines – “DevCo”

Pursuing a “spin-out” independent developer company – “DevCo”

The expert IDE teams are involved in this process

Focus on code and the developer role

What is right for customers is to have two separate yet co-operative businesses

Interim time, Borland continues to invest and advance the IDE business

Announced new world wide Developer Tools Division General Manager

Now on to work with potential investors

Major Product Areas by Organization

JBuilder

DelphiC++Builder

StarTeam

CaliberRM

Together

C#Builder

InterBase

JDataStore

“Peloton”

Segue Silk

Tempo

Developer Studio

Borland

Developer Network

“DevCo”

VisiBroker BES

Large Community

Microsoft

IBM

Sun

DevCo

Enterprise

Individual

Small Team

.Net Java

Oracle

User

Platform

6.5M registered members

1.5M active BDN community

>1M Foundation users

Geographically distributed

Cross-platform orientation

Heritage of Leadership

DevCo

Redefining Software Engineering for Over 20 Years

From inventing IDE & RAD to enabling J2EE & .NET

Invented the IDE

RedefinedRAD

1st Pure Java IDE

1st J2EE compliant IDE

1st IDE to support SOAP

1st C++ IDEDefined

JavaBeans1st RAD IDE

for Linux1st EnterpriseFramework

1st ExtensibleComponent Framework

StructuredProgramming

OOProgramming

Windows Java J2EE

Linux

Web Services

.NETComponents JavaBeans

Industry

Community Reaction to the News…

“Now a great technology, a great community, and a DelphiNewCo Inc. are ready to enter a New Delphi Era. “

Marco Cantu

“…personally think this is the best thing to happen to Delphi since it was released eleven years ago today ”

Nick Hodges

“My loyalty will be to the new company; to Delphi and the other IDE products.”Bob Swart

http://blog.marcocantu.com/blog/dreamingnewdelphi.htmlhttp://www.lemanix.com/nickblog/http://www.ebob42.com

Borland Team Blogs…

Allen Bauer - Fly! Be free! Adam Markowitz- Sojourn of Delphi David Lock - Delphi grows up, moves out David Intersimone – With a big smile on my face... John Kaster - Exciting times for Borland's developer tools Anders Ohlsson - It's a fabulous day Michael Swindell - Go Delphi! Go NewCo!

Latest News : http://Blogs.borland.com/abauer

Introducing the Nordic DTG team

Niklas Karlsson Dan Nygren Robert Lecklin Jani Järvinen (Moonsoft Finland) Juha Piispa (Moonsoft Finland)

Delphi Update

Delphi 2006 – “All in One”

DelphiVCL, Win32, IntraWeb

C++BuilderVCL, Win32, IntraWeb

Delphi for .NETVCL.NET, Winforms, ASP.NET WebForms, ECO

C#Builder for .NETWinforms, WebForms, ASP.NET, ECO

Delphi 2006 Developer Studio IDE

DelphiWin32

C++BuilderWin32

C#Builder.NET

Delphi.NET

Delphi 2006 Mission

High quality and performance- Radically increase quality, performance, and responsiveness

High Productivity of Model Driven Development to the Masses- State Machine design and execution and ECO features in all SKUs

More Developer Productivity- VCL Design Guidelines, Together, Live Templates, Many more refactorings

Provide C++Builder developers with Borland Developer Studio 2006- Re-integrate/introduce VCL based C++Builder

Delphi 2006 Responses

High quality and performance“the overall stability impressions are very good ” software.gurock

High Productivity of Model Driven Development to the Masses“…compelling for serious design…” DevSource

More Developer Productivity“…the best RAD tool for Windows ” Tim Anderson, UK, The Register

Provide C++Builder developers with Borland Developer Studio 2006“C++Builder is back ” Reg Developer

Quote of the Week…

“Delphi is back home at last.. now only Metallica has to make a real album again to

make me the happiest developer of the world.”John McLaine

Delphi 2006 Mission

High quality and performance- Radically increase quality, performance, and responsiveness

High Productivity of Model Driven Development to the Masses- State Machine design and execution and ECO features in all SKUs

More Developer Productivity- VCL Design Guidelines, Together, Live Templates, Many more refactorings

Provide C++Builder developers with Borland Developer Studio 2006- Re-integrate/introduce VCL based C++Builder

Delphi 2006 Responses

High quality and performance“the overall stability impressions are very good ” software.gurock“The products look excellent” RegDeveloper

High Productivity of Model Driven Development to the Masses“…compelling for serious design…” DevSource

More Developer Productivity“…the best RAD tool for Windows ” Tim Anderson, UK, The Register

Provide C++Builder developers with Borland Developer Studio 2006“C++Builder is back ” RegDeveloper

Delphi 2006 Architecture Overview

VCL (Win32)

ECO

dbExpress BDP

VCL.NET .NET WinForms and ASP.NET

BDE

Requirements

Refactoring

Files Defects TasksTopics

UML Diagram Suite Audits

Unit Testing

IBX

C++ Delphi Delphi.NET C#

Design Patterns

Live Templates

Design

Metrics

Live Source

Borland Developer Studio – BDS (IDE)

IDE CoreMenus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…

Code EditorDebugger Services

Project ManagementMenus

Windows/DockingBuilt in VCL/Win32

Borland Developer Studio – BDS (IDE)

IDE CoreMenus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…

Code EditorDebugger Services

Project ManagementMenus

Windows/DockingBuilt in VCL/Win32

Open Tools API - Published

Personality servicesProject/File management

Editor/Keyboard mappingsDebugging servicesFile history services

Structure view servicesObject inspector services

Etc..

Borland Developer Studio – BDS (IDE)

IDE CoreMenus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…

Open Tools API - Published

Personality servicesProject/File management

Editor/Keyboard mappingsDebugging servicesFile history services

Structure view servicesObject inspector services

Etc..

Delphi/Win32C++Builder Delphi/.NET C#Builder

C++Builder – native Win32Delphi/Win32 – native Win32

Delphi/.NET - .NETC#Builder - .NET

Borland Developer Studio – BDS (IDE)

IDE CoreMenus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…

Open Tools API - Published

Delphi/Win32C++Builder Delphi/.NET C#Builder

C++Builder – native Win32Delphi/Win32 – native Win32

Delphi/.NET - .NETC#Builder - .NET

Win32 Debugger .NET Debugger

Source and CPU Level SteppingFull Function CPU/IL View

Local Variables ViewWatches View

Many Breakpoint TypesEvent Logging

Expandable Fly-Over InspectorsData Inspectors

Borland Developer Studio – BDS (IDE)

IDE CoreMenus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…

Open Tools API - Published

Delphi/Win32C++Builder Delphi/.NET C#Builder

Win32 Debugger .NET Debugger

Together

LiveSource ModelingClass Diagrams

Use Case DiagramsState Diagrams

Code Audits/MetricsCoding Patterns (Gang of Four)

Source and CPU Level SteppingFull Function CPU/IL View

Local Variables ViewWatches View

Many Breakpoint TypesEvent Logging

Expandable Fly-Over InspectorsData Inspectors

Borland Developer Studio – RunTimeBorland Developer Studio – BDS (IDE)

IDE CoreMenus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…

Open Tools API - Published

Delphi/Win32C++Builder Delphi/.NET C#Builder

Win32 Debugger .NET Debugger

Together

LiveSource ModelingClass Diagrams

Use Case DiagramsState Diagrams

Code Audits/MetricsCoding Patterns (Gang of Four)

Borland Developer Studio – RunTime

Delphi/Win32C++Builder Delphi/.NET C#Builder

VCL/Win32 VCL/.NET

Visual Component LibraryFirst Widespread True Component FrameworkMade Windows Programming Approachable

Consistent Programming ModelNo Need To Understand OOP Concepts

Low Barrier To EntryVisual Designers (Drag ‘n’ Drop)

Borland Developer Studio – RunTime

Delphi/Win32C++Builder Delphi/.NET C#Builder

VCL/Win32 VCL/.NET

Visual Component LibraryFirst Widespread True Component FrameworkMade Windows Programming Approachable

Consistent Programming ModelNo Need To Understand OOP Concepts

Low Barrier To EntryVisual Designers (Drag ‘n’ Drop)

ASP.NET

Windows Forms

Microsoft .NET FrameworksWindows Forms – Similar to VCL

ASP.NET – Web Form App FrameworkVisual Designers (Drag ‘n’ Drop)

Borland Developer Studio – RunTime

Delphi/Win32C++Builder Delphi/.NET C#Builder

VCL/Win32 VCL/.NET

ASP.NET

Windows Forms

Microsoft .NET FrameworksWindows Forms – Similar to VCL

ASP.NET – Web Form App FrameworkVisual Designers (Drag ‘n’ Drop)

Enterprise Core Objects

Model Driven ArchitecturePersistence

Database AgnosticState Machines

Integrated OCL Engine

Borland Developer Studio – RunTime

Delphi/Win32C++Builder Delphi/.NET C#Builder

VCL/Win32 VCL/.NET

ASP.NET

Windows Forms

Enterprise Core Objects

Model Driven ArchitecturePersistence

Database AgnosticState Machines

Integrated OCL Engine

COM/DCOM/ActiveX

Integrated Type Library EditorFull ActiveX Component Framework

Based On ATL (C++Builder)Produce & Consume ActiveX Controls

Borland Developer Studio – RunTime

Delphi/Win32C++Builder Delphi/.NET C#Builder

VCL/Win32 VCL/.NET

ASP.NET

Windows Forms

Enterprise Core Objects

COM/DCOM/ActiveX

Integrated Type Library EditorFull ActiveX Component Framework

Based On ATL (C++Builder)Produce & Consume ActiveX Controls

CORBA

Based On Mature Visibroker ORBIntegrated IDL2CPP

Borland Developer Studio – RunTime

Delphi/Win32C++Builder Delphi/.NET C#Builder

VCL/Win32 VCL/.NET

ASP.NET

Windows Forms

Enterprise Core Objects

COM/DCOM/ActiveX

CORBA

Based On Mature Visibroker ORBIntegrated IDL2CPP

Borland Database Engine (BDE)

dbExpress Borland Data Providers (BDP)

Database Access TechnologiesBorland Database Engine – Paradox, dBase

dbExpress – SQL (MSSQL, InterBase, Oracle)Borland Data Providers – Similar to dbExpress

Delphi / C++Builder Roadmap

Delphi 2006• Delphi, C# and C++ in same IDE• VCL for Win32/.NET 1.1• 64bit .NET 1.1• ECO III – State Machines• ECO “basics” in all editions• Together for Delphi• Performance and Quality

Highlander• Delphi Win32/.NET • VCL for .NET 2.0• VCL for Compact Framework• 64bit .NET 2.0• Windows Vista• ECO IV – ECO for VCL.NET

Delphi for Vista• VCL for Windows Presentation Foundation (Avalon)• Windows Communication Framework (Indigo)• VCL for Win32

Delphi/C++ for Win64• Win64 / Win32 native code

• VCL for Win64/Win32

Delphi 2005• Delphi Win32/.NET• VCL for Win32/.NET• ECO II

2005 2006 2007 2008Update #1

Update #2

Update #1Update #2

Update #3

Agenda

1200 – 1230 Borland / Delphi Update

1230 – 1330 Extreme Developer Productivity

1330 – 1345 Break

1345 – 1445 Using Together with Delphi

1445 – 1545 Build and run Model Driven Software

1545 – 1600 Q&A

1600 – End

Extreme Developer Productivity

Delphi 2006 – Unprecedented Developer Productivity

VCL Live GuidelinesLive Snap-To guides for positioning and resizing VCL controls at design time

Live TemplatesInteractive template system – scriptable and extensible, add your own

Block CompletionAutomatically completes code blocks such as Begin/End, ( ), and others

RefactoringsMany new refactorings such as Push and Pull members, Extract Interface, Extract Superclass, Safe Delete and more

Delphi 2006 - Refactorings

Symbol Rename (Delphi, C#, C++)

Extract Method (Delphi)

Declare Variable and Field (Delphi)

Find References (Delphi, C#, C++)

Extract Resourcestring (Delphi)

Find Unit (Delphi)

Use Namespace (C#)

Undo (Delphi, C#)

Change Parameters (Delphi)

Also Together Modeling Refactorings…

Delphi 2006 – Database Development

Delphi and C++Builder for VCL – Win32 and .NETNew Database Explorer for dbExpress

Drag-in-drop, table browsing, schema creation and editing

New Unicode dbExpress platformMS SQL Server Unicode enabled dbExpress driver – more to follow!

New and Updated dbExpress driversInterbase 7.5, Oracle 10g, Microsoft SQL Server 2005, Informix 9x, IBM DB2 8., MySQL 4.0.24, SQL Anywhere 9, Sybase 12.5

DBGo for ADO, IBX, and BDE for dBase and Paradox supports both VCL and VCL.NET !

Delphi and C#Builder for .NET/ASP.NET – Winforms and WebFormsNew BDP Connection Pooling!

Built-in support for conn pooling make it easy to improve performance and scalability

New BDP SQL TracingEasily debug SQL commands

New BDP and DataHub Error ReconciliationHandle errors across tiers in multi-tier database applications

New and Updated BDP driversInterbase 7.5, Oracle 10g, Microsoft SQL Server 2005, IBM DB2 8., MySQL 4.0.24, Sybase 12.5, MSDE 2000, Microsoft Access

C++Builder Personality

Upgrade to C++Builder 6IDE productivity improvements since D7

Database Explorer, History Manager, Sync Edit…

New VCL Consume latest VCL components

Rename RefactoringCodeGuard 2006

Runtime Error Protection

Configurable Build Highly configurable and flexible C++ build options

Build Events - pre, post build, pre-linkIntraWeb RAD C++ Web App Development

Agenda

1200 – 1230 Borland / Delphi Update

1230 – 1330 Extreme Developer Productivity

1330 – 1345 Break

1345 – 1445 Using Together with Delphi

1445 – 1545 Build and run Model Driven Software

1545 – 1600 Q&A

1600 – End

Break

Agenda

1200 – 1230 Borland / Delphi Update

1230 – 1330 Extreme Developer Productivity

1330 – 1345 Break

1345 – 1445 Using Together with Delphi

1445 – 1545 Build and run Model Driven Software

1545 – 1600 Q&A

1600 – End

Using Together with Delphi

Together for Delphi and C#

LiveSource Class diagrammingtwo-way modeling – changes in code reflected in the model and viceversa

UML Diagram suiteClass, Use Case, Sequence, Collaboration, State Chars, Deployment, Activity, and Component Diagrams

Design PatternsGet started quickly with industry recognized GOF (Gang of Four) design patterns or add your own.

RefactoringsAudits and Metrics

Gain insight into your source code

Document Generation Automatically generate professional quality documentation from your source code and models

Together – Diagramming Types

Class Diagram

Collaboration Diagram

Use Case Diagram

Activity Diagram

Component Diagram

Deployment Diagram

Statechart Diagram

Sequence Diagram

UML™ Modeling with LiveSource™

Together® LiveSource™ technology: UML™ Class diagrams are a live rendition of the underlying

source code Model to Code. Code to Model. Always in sync.

IncrementalIncrementalCodeCode

GeneratorGenerator

Together®Together®ParsingParsingEngineEngine

LiveSource™

Together – Design Patterns

Powerful Reuse CapabilitiesDefined in Pattern RegistryManaged via Pattern OrganizerSupports C#, Delphi, Design ProjectsCreate/Edit PatternsXML File Defines Model and Link Information

Documentation Generation

UML Documentation Wizard

HTML Generation DocumentationThe HTML documentation contains three frames:

Diagram frame Project and Overview frame Documentation frame

Together – Audit and Metrics

AuditsSource code conformity rules

Violations displayed

From Design Issues to Naming Conventions

Descriptions & How to Fix

MetricsEvaluate Object Complexity

Quantify your code

Highlight Redesign Needs

Change Impact Analysis

Agenda

1200 – 1230 Borland / Delphi Update

1230 – 1330 Extreme Developer Productivity

1330 – 1345 Break

1345 – 1445 Using Together with Delphi

1445 – 1545 Build and run Model Driven Software

1545 – 1600 Q&A

1600 – End

Build and run Model Driven Software

20 Years of software engineering

DevCo

Invented the IDE

RedefinedRAD

1st Pure Java IDE

1st J2EE compliant IDE

1st IDE to support SOAP

1st C++ IDEDefined

JavaBeans1st RAD IDE

for Linux1st EnterpriseFramework

1st ExtensibleComponent Framework

StructuredProgramming

OOProgramming

Windows Java J2EE

Linux

Web Services

.NETComponents JavaBeans

Industry

Developer Challenges and Needs

Presentation LayersPresentation Layers

Data LayersData Layers

Business LayersBusiness Layers

UsersUsers

Data SourcesData Sources ServicesServices

Need a higher level separation between architecture layers

Increasing complexity, need more focus on the business logic

Need to adopt to business and technology changes quickly

Design Driven Software Service Development

Generated From ModelRequires Additional Developer Code

UML Model

Modeled by Architect

Modeling Design Environment

1.2.3.

UML Model

PersistenceObject Interaction

Object Object ObjectOCL Logic OCL LogicLogic

UI Designers

Database Explorer

Model Driven Runtime Framework

ECO provides

Focus on the business logicHelps you raise the level of abstractionAchieves higher level separationImplements Rapid Model-Driven DevelopmentBuilds on 9 years of Model-Centric Application Framework successUses UML and OCL industry standards from OMGECO runs on scalable .NET platformProvides Model-Centric not Database-Centric

Includes… Object to Relational Database mapping Object to User Interface data binding Advanced Framework Services

What is ECO?

ECO is an acronym for Enterprise Core Objects

ECO is an Application Framework

ECO is built upon .NET and FCL from Microsoft

ECO is components and classes to use in your Application at Runtime

ECO is also design time tools available in Delphi IDE

Adopt a framework build on current and future technology

Framework provides OR mapping Databases crucial to business software Code to populate objects with data from database and store

changes is in the framework – you can focus on delivering business value instead of nuts and bolts

Generated SQL Easier to test Less error prone You can still write your own SQL where optimization requires

Less code to maintain Easier to change and extend your application Lower maintenance cost

Object to User Interface data binding

Fully compatible with .NET built-in data binding All third party components can use your objects as data source if

they are not hardwired to DataSet class

Components to simplify data binding to objects Binding to ordinary (non ECO) objects requires code. You must always wrap single objects in something that support

at least the IList-interface

Query language (OCL) to help retrieve the right data for UI

Component Extenders Auto forms, Drag and Drop to manipulate associations, common

actions – All to get less code to maintain

Developer Value

Quality WYMIWIG – What you model is what you get ! Allow focus at the business need - not implementation Less code = less defects Manageable Complexity

Adaptability, Predictability Designed for Change Automatic evolution Manageable side effects

Productivity throughout the application lifecycle Iterative design / develop process Development 5 – 10* times faster Maintenance and continuous change; even higher

Developer Advantage

Less Details Code Defects Time

More Focus Quality Adaptability Predictability Productivty

ECO IECO I•Create Db schema•Evolve Db Schema •Object persistence• .NET Databinding•UML Designer•OCL Editor•Autoforms

•Create Db schema•Evolve Db Schema •Object persistence• .NET Databinding•UML Designer•OCL Editor•Autoforms

•ASP.NET support(Incl. Autoforms)

•WebServices•Reverse engineer existing Db

•ECO Space Synchronization

•ASP.NET support(Incl. Autoforms)

•WebServices•Reverse engineer existing Db

•ECO Space Synchronization

•State Machine•Multiple Db support•ECO Action Language•Etc.

•State Machine•Multiple Db support•ECO Action Language•Etc.

ECO IIECO II ECO IIIECO III

Bold Steps to ECO

BO

LD

ECO Features in BDS Editions

ECO III (Enterprise Core Objects)Architect

State Diagramming/Execution, Multi Database, Multi-ECO Servers

External Web apps (extranet)

Enterprise

WinForms, WebServices, and WebForms, Database persistence (1 Database, 1 ECO Server)

Internal Web and Rich Client multiuser apps (intranet)

Professional

Class Modeling, WinForms only, O/R Mapping, OCL, XML persistence

Desktop Rich Client Apps

ECO Tools in design timeP

ersistence

Persisten

ce

.NET Framework

C#Builder /Delphi IDE

ECO IDE Tools

OCL Editor

UI

order = true;order = true;

Designer:Designer:UML & OCLUML & OCL

Logic: C# / DelphiLogic: C# / Delphi

ECO Space Tools

Database Schema GenerationDatabase Schema EvolutionModel ValidationDatabase configuration

Order.allInstances

order = true;order = true;

ECO in runtime – logical overview

.NET Platform

Application

ECO Space.NET UI

ECO Framework

EC

O O

-R M

app

ing

PersistenceObject RelationsTransactionsSubscriptionsCachingSynchronizationOCL EvaluationOCL Querying Undo / RedoVersioning

Model:Model:UML & OCLUML & OCL

Logic: C# / DelphiLogic: C# / Delphi

Persisten

ceP

ersistence

order = true;order = true;

ECO Basic Components

.NET Platform

Application

ECO-Space.NET UI

ECO Platform

EC

O O

-R M

app

ing

PersistenceObject RelationsTransactionsSubscriptionsCachingOCL EvaluationOCL Querying Undo / RedoVersioning

Model:Model:UML & OCLUML & OCL

Logic: C# / DelphiLogic: C# / Delphi

Persisten

ceP

ersistence

References

Community.borland.com

http://bdn.borland.com/delphi/eco

Seminars

Creating your first ECO application http://www.borland.com/delphi/architect/eco/tutorial/tutorial1.html

Working with Associations http://www.borland.com/delphi/architect/eco/tutorial/tutorial2.html

Using ECO with Databases http://www.borland.com/delphi/architect/eco/tutorial/tutorial3.html

References

BDNtvAccelerating Development with Enterprise Core Objects

http://bdn.borland.com/article/0,1410,33061,00.htmlClassic “Child’s Play” episode

http://bdn.borland.com/article/0,1410,33331,00.htmlECO III overview

http://bdn.borland.com/article/0,1410,33061,00.html

BlogsECO Team

http://blogs.borland.com/Especially Henrik Jondell…

http://blogs.borland.com/HenrikJondell

References

In the Community…

Peter Morris

http://blogs.slcdug.org/petermorris/

Holger Flick

http://delphi2006.blogspot.com/

Bob Swart

http://www.drbob42.com/eco

Alois Schmid

http://www.ecospace.de/

Summary

Online Resources…

Borland.com/delphi

Community.borland.com

Developer Studio 2006 Architect trial

White papers

Articles

BDNtv

Reviewers guide

Developer blogs

Final Words

Continued world class support for software development

Clear roadmap moving forward

Continuing to provide leading IDE solutions

Complete Windows development solution

Innovative solutions for .NET integration

Migration for existing Borland developers

Continued support for Win32 development

Q&A

Close Thank YOU