ec8a1c327d92096c796341f1d6358799.ppt
- Количество слайдов: 73
Developers matter 23 rd 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 8 th 2006 § Borland acquires Segue Software § Pursuing a “spin-out” independent developer company – “Dev. Co” March 20 th 2006 § Announcement of new “Dev. Co” General Manager – Nigel Brown Borland EMEA VP April 2006 § Developer Tools Division Established
Divesting of IDE Product Lines – “Dev. Co” Pursuing a “spin-out” independent developer company – “Dev. Co” 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 Borland “Dev. Co” Delphi C++Builder Caliber. RM Inter. Base Together “Peloton” Star. Team Segue Silk JData. Store C#Builder JBuilder Visi. Broker Developer Studio Tempo Developer Network BES
Large Community User § 6. 5 M registered members Oracle Enterprise Sun § 1. 5 M active BDN community IBM § >1 M Foundation users § Geographically distributed Small Team § Cross-platform orientation Microsoft Dev. Co Individual Platform. Net Java
Heritage of Leadership Redefining Software Engineering for Over 20 Years From inventing IDE & RAD to enabling J 2 EE &. NET 1 st C++ IDE Invented the IDE 1 st Extensible Component Framework Redefined RAD Defined Java. Beans 1 st Pure Java IDE 1 st RAD IDE for Linux 1 st J 2 EE compliant IDE 1 st Enterprise Framework 1 st IDE to support SOAP Dev. Co Industry OO Programming Structured Programming Components Windows Java. Beans Java Linux J 2 EE . NET Web Services
Community Reaction to the News… “Now a great technology, a great community, and a Delphi. New. Co 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. ebob 42. 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 New. Co! 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 2006 Developer Studio IDE VCL, Win 32, Intra. Web C++Builder Delphi Win 32 C++Builder Win 32 VCL, Win 32, Intra. Web Delphi for. NET VCL. NET, Winforms, ASP. NET Web. Forms, ECO C#Builder for. NET Winforms, Web. Forms, 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…” Dev. Source 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 Mc. Laine
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” Reg. Developer High Productivity of Model Driven Development to the Masses “…compelling for serious design…” Dev. Source 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
Delphi 2006 Architecture Overview ECO BDE IBX VCL (Win 32) UML Diagram Suite Live Source C++ Files VCL. NET Design Patterns Live Templates Refactoring Topics Tasks BDP . NET Win. Forms and ASP. NET Audits Delphi. NET Delphi Defects db. Express 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/Win 32
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/Win 32 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/Win 32 Delphi/. NET Personality services Project/File management Editor/Keyboard mappings C++Builder – native Win 32 Debugging services Delphi/Win 32 – native Win 32 File history services Delphi/. NET services Structure view -. NET C#Builder - services Object inspector. NET 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/Win 32 Debugger Delphi/. NET C#Builder . NET Debugger C++Builder – native Win 32 Delphi/Win 32 – native Win 32 Delphi/. NET -. NET Source C#Builder Level Stepping and CPU -. NET 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/Win 32 Debugger Delphi/. NET C#Builder . NET Debugger Together Source and CPU Level Stepping Full Function CPU/IL View Local Variables View Live. Source 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 – Run. Time IDE Core Menus, Project Mgmt, Window Mgmt, Editor, Personality Services, etc… Open Tools API - Published C++Builder Delphi/Win 32 Debugger Delphi/. NET C#Builder . NET Debugger Together Live. Source Modeling Class Diagrams Use Case Diagrams State Diagrams Code Audits/Metrics Coding Patterns (Gang of Four)
Borland Developer Studio – Run. Time C++Builder Delphi/Win 32 VCL/Win 32 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 – Run. Time C++Builder Delphi/Win 32 VCL/Win 32 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 – Run. Time C++Builder Delphi/Win 32 VCL/Win 32 Delphi/. NET C#Builder VCL/. NET ASP. NET Windows Forms Enterprise Core Objects Microsoft. NET Frameworks Windows Forms – Similar to VCL ASP. NET – Web Form App Framework Model Driven (Drag ‘n’ Drop) Visual Designers Architecture Persistence Database Agnostic State Machines Integrated OCL Engine
Borland Developer Studio – Run. Time C++Builder Delphi/Win 32 VCL/Win 32 COM/DCOM/Active. X Integrated Type Library Editor Full Active. X Component Framework Based On ATL (C++Builder) Produce & Consume Active. X 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 – Run. Time C++Builder Delphi/Win 32 VCL/Win 32 Delphi/. NET C#Builder VCL/. NET COM/DCOM/Active. X ASP. NET CORBA Integrated Type Library Editor Full Active. X Component Framework Based On ATL (C++Builder) Based & Mature Visibroker ORB Produce On. Consume Active. X Controls Integrated IDL 2 CPP Windows Forms Enterprise Core Objects
Borland Developer Studio – Run. Time C++Builder Delphi/Win 32 VCL/Win 32 COM/DCOM/Active. X CORBA Delphi/. NET C#Builder VCL/. NET ASP. NET Windows Forms Borland Database Engine (BDE) Based On Mature Visibroker ORB Integrated IDL 2 CPP Enterprise Core Objects db. Express Borland Data Providers (BDP) Database Access Technologies Borland Database Engine – Paradox, d. Base db. Express – SQL (MSSQL, Inter. Base, Oracle) Borland Data Providers – Similar to db. Express
Delphi / C++Builder Roadmap Highlander Delphi/C++ for Win 64 • Win 64 / Win 32 native code • VCL for Win 64/Win 32 • Delphi Win 32/. NET • VCL for. NET 2. 0 • VCL for Compact Framework • 64 bit. NET 2. 0 Delphi 2006 • Windows Vista • Delphi, C# and C++ in same IDE • ECO IV – ECO for VCL. NET • VCL for Win 32/. NET 1. 1 Delphi 2005 • 64 bit. NET 1. 1 Delphi for Vista • Delphi Win 32/. NET • ECO III – State Machines • VCL for Windows Presentation Foundation (Avalon) • VCL for Win 32/. NET • ECO “basics” in all editions • Windows Communication Framework (Indigo) • ECO II • Together for Delphi • VCL for Win 32 Update #1 • Performance and Quality Update #2 Update #3 Update #1 2005 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 – Win 32 and. NET New Database Explorer for db. Express Drag-in-drop, table browsing, schema creation and editing New Unicode db. Express platform MS SQL Server Unicode enabled db. Express driver – more to follow! New and Updated db. Express drivers Interbase 7. 5, Oracle 10 g, Microsoft SQL Server 2005, Informix 9 x, IBM DB 2 8. , My. SQL 4. 0. 24, SQL Anywhere 9, Sybase 12. 5 DBGo for ADO, IBX, and BDE for d. Base and Paradox supports both VCL and VCL. NET ! Delphi and C#Builder for. NET/ASP. NET – Winforms and Web. Forms 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 Data. Hub Error Reconciliation Handle errors across tiers in multi-tier database applications New and Updated BDP drivers Interbase 7. 5, Oracle 10 g, Microsoft SQL Server 2005, IBM DB 2 8. , My. SQL 4. 0. 24, Sybase 12. 5, MSDE 2000, Microsoft Access
C++Builder Personality Upgrade to C++Builder 6 IDE productivity improvements since D 7 § Database Explorer, History Manager, Sync Edit… New VCL § Consume latest VCL components Rename Refactoring Code. Guard 2006 § Runtime Error Protection Configurable Build § Highly configurable and flexible C++ build options Build Events - pre, post build, pre-link Intra. Web 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# Live. Source 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 Live. Source™ Together® Live. Source™ technology: § UML™ Class diagrams are a live rendition of the underlying source code § Model to Code to Model. Always in sync. Incremental Code Generator Live. Source™ 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 1 st C++ IDE Invented the IDE 1 st Extensible Component Framework Redefined RAD Defined Java. Beans 1 st Pure Java IDE 1 st RAD IDE for Linux 1 st J 2 EE compliant IDE 1 st Enterprise Framework 1 st IDE to support SOAP Dev. Co Industry OO Programming Structured Programming Components Windows Java. Beans Java Linux J 2 EE . NET Web Services
Developer Challenges and Needs § Need a higher level separation Users Presentation Layers Business 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 Driven Runtime Framework UI Designers UML Model Object 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 Data. Set 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 I BOLD • Create Db schema • Evolve Db Schema • Object persistence • . NET Databinding • UML Designer • OCL Editor • Autoforms ECO II • ASP. NET support (Incl. Autoforms) • Web. Services • 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 Win. Forms, Web. Services, and Web. Forms, Database persistence (1 Database, 1 ECO Server) Internal Web and Rich Client multiuser apps (intranet) Professional Class Modeling, Win. Forms 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; ECO IDE Tools ECO Space Tools Order. all. Instances . 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 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 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 1. html Working with Associations http: //www. borland. com/delphi/architect/eco/tutorial 2. html Using ECO with Databases http: //www. borland. com/delphi/architect/eco/tutorial 3. 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/Henrik. Jondell
References In the Community… Peter Morris http: //blogs. slcdug. org/petermorris/ Holger Flick http: //delphi 2006. blogspot. com/ Bob Swart http: //www. drbob 42. 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 Win 32 development
Q&A
Close Thank YOU


