developers matter 23rd may 2006, helsinki, finland
Post on 20-Dec-2015
221 views
TRANSCRIPT
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