Seminar Finland 23052005
Download
Report
Transcript Seminar Finland 23052005
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
“DevCo”
Borland
Delphi C++Builder
CaliberRM
InterBase
Together
“Peloton”
StarTeam
Segue Silk
JDataStore
C#Builder
JBuilder
VisiBroker
Developer Studio
Tempo
Developer Network
BES
Large Community
User
6.5M registered members
Oracle
Enterprise
1.5M active BDN community
Sun
>1M Foundation users
IBM
Geographically distributed
Small Team
Cross-platform orientation
Microsoft
DevCo
Individual
Platform
.Net
Java
Heritage of Leadership
Redefining Software Engineering for Over 20 Years
From inventing IDE & RAD to enabling J2EE & .NET
1st C++ IDE
Invented
the IDE
1st Extensible
Component
Framework
Redefined
RAD
1st RAD IDE
for Linux
Defined
JavaBeans
1st Pure
Java IDE
1st J2EE
compliant IDE
1st Enterprise
Framework
1st IDE to
support SOAP
DevCo
Industry
OO
Programming
Structured
Programming
Components
Windows
JavaBeans
Java
Linux
J2EE
.NET
Web Services
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.html
http://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”
Delphi
Delphi 2006 Developer Studio IDE
VCL, Win32, IntraWeb
C++Builder
Delphi
Win32
C++Builder
Win32
VCL, Win32, IntraWeb
Delphi for .NET
VCL.NET, Winforms, ASP.NET WebForms, ECO
C#Builder for .NET
Winforms, WebForms, ASP.NET, ECO
Delphi
.NET
C#Builder
.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
ECO
BDE
IBX
VCL (Win32)
UML Diagram
Suite
Live Source
C++
Files
dbExpress
VCL.NET
Design
Patterns
Live
Templates
Delphi.NET
Delphi
Defects
Topics
.NET WinForms and ASP.NET
Audits
Refactoring
Tasks
BDP
Metrics
Unit Testing
C#
Requirements
Design
Borland Developer Studio – BDS (IDE)
IDE Core
Menus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…
Code Editor
Debugger Services
Project Management
Menus
Windows/Docking
Built in VCL/Win32
Borland Developer Studio – BDS (IDE)
IDE Core
Menus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…
Open Tools API - Published
Code Editor
Debugger Services
Personality
services
Project Management
Project/File
management
Menus
Editor/Keyboard
mappings
Windows/Docking
Debugging
services
Built in VCL/Win32
File history services
Structure view services
Object inspector services
Etc..
Borland Developer Studio – BDS (IDE)
IDE Core
Menus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…
Open Tools API - Published
C++Builder
Delphi/Win32
Delphi/.NET
Personality services
Project/File management
Editor/Keyboard mappings
C++Builder
– native
Win32
Debugging
services
Delphi/Win32
– native
Win32
File history
services
Delphi/.NET
.NET
Structure
view -services
C#Builder
- .NET
Object
inspector
services
Etc..
C#Builder
Borland Developer Studio – BDS (IDE)
IDE Core
Menus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…
Open Tools API - Published
C++Builder
Delphi/Win32
Win32 Debugger
Delphi/.NET
C#Builder
.NET Debugger
C++Builder – native Win32
Delphi/Win32 – native Win32
Delphi/.NET - .NET
Source C#Builder
and CPU Level
- .NETStepping
Full Function CPU/IL View
Local Variables View
Watches View
Many Breakpoint Types
Event Logging
Expandable Fly-Over Inspectors
Data Inspectors
Borland Developer Studio – BDS (IDE)
IDE Core
Menus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…
Open Tools API - Published
C++Builder
Delphi/Win32
Win32 Debugger
Delphi/.NET
C#Builder
.NET Debugger
Together
Source and CPU Level Stepping
Full Function CPU/IL View
Local Variables View
LiveSource
Modeling
Watches
View
Class
Diagrams
Many Breakpoint
Types
Use Case Diagrams
Event Logging
State
Diagrams
Expandable Fly-Over
Inspectors
Code Audits/Metrics
Data Inspectors
Coding Patterns (Gang of Four)
Borland Developer Studio – BDS (IDE)
Borland Developer Studio – RunTime
IDE Core
Menus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc…
Open Tools API - Published
C++Builder
Delphi/Win32
Win32 Debugger
Delphi/.NET
C#Builder
.NET Debugger
Together
LiveSource Modeling
Class Diagrams
Use Case Diagrams
State Diagrams
Code Audits/Metrics
Coding Patterns (Gang of Four)
Borland Developer Studio – RunTime
C++Builder
Delphi/Win32
VCL/Win32
Delphi/.NET
VCL/.NET
Visual Component Library
First Widespread True Component Framework
Made Windows Programming Approachable
Consistent Programming Model
No Need To Understand OOP Concepts
Low Barrier To Entry
Visual Designers (Drag ‘n’ Drop)
C#Builder
Borland Developer Studio – RunTime
C++Builder
Delphi/Win32
VCL/Win32
Delphi/.NET
C#Builder
VCL/.NET
ASP.NET
Visual Component Library
First Widespread True Component Framework
Made Windows Programming Approachable
Windows Forms
Consistent Programming Model
No Need To Understand OOP Concepts
Low Barrier To Entry
Microsoft .NET Frameworks
Visual Designers (Drag ‘n’ Drop)
Windows Forms – Similar to VCL
ASP.NET – Web Form App Framework
Visual Designers (Drag ‘n’ Drop)
Borland Developer Studio – RunTime
C++Builder
Delphi/Win32
VCL/Win32
Delphi/.NET
C#Builder
VCL/.NET
ASP.NET
Windows Forms
Enterprise
Objects
Microsoft
.NETCore
Frameworks
Windows Forms – Similar to VCL
ASP.NET – Web Form App Framework
Model
Driven Architecture
Visual
Designers
(Drag ‘n’ Drop)
Persistence
Database Agnostic
State Machines
Integrated OCL Engine
Borland Developer Studio – RunTime
C++Builder
Delphi/Win32
VCL/Win32
COM/DCOM/ActiveX
Integrated Type Library Editor
Full ActiveX Component Framework
Based On ATL (C++Builder)
Produce & Consume ActiveX Controls
Delphi/.NET
C#Builder
VCL/.NET
ASP.NET
Windows Forms
Enterprise Core Objects
Model Driven Architecture
Persistence
Database Agnostic
State Machines
Integrated OCL Engine
Borland Developer Studio – RunTime
C++Builder
Delphi/Win32
VCL/Win32
Delphi/.NET
C#Builder
VCL/.NET
COM/DCOM/ActiveX
ASP.NET
CORBA
Integrated Type Library Editor
Full ActiveX Component Framework
Based On ATL (C++Builder)
Based On
Mature Visibroker
ORB
Produce
& Consume
ActiveX Controls
Integrated IDL2CPP
Windows Forms
Enterprise Core Objects
Borland Developer Studio – RunTime
C++Builder
Delphi/Win32
VCL/Win32
COM/DCOM/ActiveX
CORBA
Delphi/.NET
C#Builder
VCL/.NET
ASP.NET
Windows Forms
Borland Database Engine (BDE)
Based On Mature Visibroker ORB
Integrated IDL2CPP
Enterprise Core Objects
dbExpress
Borland Data Providers (BDP)
Database Access Technologies
Borland Database Engine – Paradox, dBase
dbExpress – SQL (MSSQL, InterBase, Oracle)
Borland Data Providers – Similar to dbExpress
Delphi / C++Builder Roadmap
Delphi/C++ for Win64
Highlander
Delphi 2005
• Delphi Win32/.NET
• VCL for Win32/.NET
• ECO II
Update #1
Update #2
Update #3
2005
• Win64 / Win32 native code
• Delphi Win32/.NET
• VCL for Win64/Win32
• VCL for .NET 2.0
• VCL for Compact Framework
• 64bit .NET 2.0
Delphi 2006
• Windows Vista
• Delphi, C# and C++ in same IDE • ECO IV – ECO for VCL.NET
• VCL for Win32/.NET 1.1
• 64bit .NET 1.1
Delphi for Vista
• ECO III – State Machines
• VCL for Windows Presentation Foundation (Avalon)
• ECO “basics” in all editions
• Windows Communication Framework (Indigo)
• Together for Delphi
• VCL for Win32
• Performance and Quality
Update #1
2006
Update #2
2007
2008
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 Guidelines
Live Snap-To guides for positioning and
resizing VCL controls at design time
Live Templates
Interactive template system – scriptable
and extensible, add your own
Block Completion
Automatically completes code blocks
such as Begin/End, ( ), and others
Refactorings
Many 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 .NET
New Database Explorer for dbExpress
Drag-in-drop, table browsing, schema creation and editing
New Unicode dbExpress platform
MS SQL Server Unicode enabled dbExpress driver – more to follow!
New and Updated dbExpress drivers
Interbase 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 WebForms
New BDP Connection Pooling!
Built-in support for conn pooling make it easy to improve performance and scalability
New BDP SQL Tracing
Easily debug SQL commands
New BDP and DataHub Error Reconciliation
Handle errors across tiers in multi-tier database applications
New and Updated BDP drivers
Interbase 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 6
IDE productivity improvements since D7
Database Explorer, History Manager, Sync Edit…
New VCL
Consume latest VCL components
Rename Refactoring
CodeGuard 2006
Runtime Error Protection
Configurable Build
Highly configurable and flexible C++ build options
Build Events - pre, post build, pre-link
IntraWeb 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 diagramming
two-way modeling – changes in code reflected in the model and viceversa
UML Diagram suite
Class, Use Case, Sequence, Collaboration, State Chars, Deployment,
Activity, and Component Diagrams
Design Patterns
Get started quickly with industry recognized GOF (Gang of Four) design
patterns or add your own.
Refactorings
Audits 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.
Incremental
Code
Generator
LiveSource™
Together®
Parsing
Engine
Together – Design Patterns
Powerful Reuse Capabilities
Defined in Pattern Registry
Managed via Pattern Organizer
Supports C#, Delphi, Design Projects
Create/Edit Patterns
XML File Defines Model and Link Information
Documentation Generation
UML Documentation Wizard
HTML Generation Documentation
The HTML documentation contains three frames:
Diagram frame
Project and Overview frame
Documentation frame
Together – Audit and Metrics
Audits
Source code conformity rules
Violations displayed
From Design Issues to Naming Conventions
Descriptions & How to Fix
Metrics
Evaluate 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
1st C++ IDE
Invented
the IDE
1st Extensible
Component
Framework
Redefined
RAD
1st RAD IDE
for Linux
Defined
JavaBeans
1st Pure
Java IDE
1st J2EE
compliant IDE
1st Enterprise
Framework
1st IDE to
support SOAP
DevCo
Industry
OO
Programming
Structured
Programming
Components
Windows
JavaBeans
Java
Linux
J2EE
.NET
Web Services
Developer Challenges and Needs
Need a higher level separation
Users
Presentation Layers
Business Layers
Data Layers
Data Sources
Services
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
Modeling Design Environment
UML Model
Model Driven
Runtime Framework
UI Designers
UML Model
Object
Object
Object
Logic
OCL Logic
OCL Logic
Object Interaction
1.
2.
3.
Database Explorer
Persistence
Modeled by Architect
Generated From Model
Requires Additional Developer Code
ECO provides
Focus on the business logic
Helps you raise the level of abstraction
Achieves higher level separation
Implements Rapid Model-Driven Development
Builds on 9 years of Model-Centric Application Framework success
Uses UML and OCL industry standards from OMG
ECO runs on scalable .NET platform
Provides 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
More
Details
Code
Defects
Time
Focus
Quality
Adaptability
Predictability
Productivty
Bold Steps to ECO
ECO I
BOLD
• Create Db schema
• Evolve Db Schema
• Object persistence
• .NET Databinding
• UML Designer
• OCL Editor
• Autoforms
ECO II
• ASP.NET support
(Incl. Autoforms)
• WebServices
• Reverse engineer
existing Db
• ECO Space
Synchronization
ECO III
• State Machine
• Multiple Db support
• ECO Action Language
• Etc.
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 time
C#Builder /
Delphi IDE
Designer:
UML & OCL
Logic: C# / Delphi
UI
order = true;
order = true;
ECO IDE Tools ECO Space Tools
Order.allInstances
.NET Framework
Database Schema Generation
Database Schema Evolution
Model Validation
Database configuration
Persistence
OCL Editor
ECO in runtime – logical overview
Application
Model:
UML & OCL
Logic: C# / Delphi
ECO Framework ECO Space
.NET Platform
Persistence
Persistence
Object Relations
Transactions
Subscriptions
Caching
Synchronization
OCL Evaluation
OCL Querying
Undo / Redo
Versioning
order = true;
ECO O-R Mapping
.NET
UI
order = true;
ECO Basic Components
Application
Model:
UML & OCL
Logic: C# / Delphi
ECO Platform
.NET Platform
Persistence
Persistence
Object Relations
Transactions
Subscriptions
Caching
OCL Evaluation
OCL Querying
Undo / Redo
Versioning
ECO-Space
order = true;
ECO O-R Mapping
.NET
UI
order = true;
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
BDNtv
Accelerating Development with Enterprise Core Objects
http://bdn.borland.com/article/0,1410,33061,00.html
Classic “Child’s Play” episode
http://bdn.borland.com/article/0,1410,33331,00.html
ECO III overview
http://bdn.borland.com/article/0,1410,33061,00.html
Blogs
ECO 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