Page 1
Boost data-driven Boost data-driven application application development usingdevelopment using
SQL Server SQL Server Centric .NET Code Centric .NET Code GeneratorGeneratorDavid RodriguezDavid RodriguezSQL Server Technology SQL Server Technology SpecialistSpecialistMicrosoft CorporationMicrosoft Corporation
Page 2
AgendaAgenda
OverviewOverview
InstallationInstallation
Using built-in templatesUsing built-in templates
Building custom templatesBuilding custom templates
Olymars in real worldOlymars in real world
Page 3
ResourcesResources http://www.microsoft.fr/olymars/http://www.microsoft.fr/olymars/
webupdate.xmlwebupdate.xml
Freely downloaded but Freely downloaded but NOT SUPPORTEDNOT SUPPORTED That being said it is very easy to useThat being said it is very easy to use
Page 4
AgendaAgenda
OverviewOverview
InstallationInstallation
Using built-in templatesUsing built-in templates
Building custom templatesBuilding custom templates
Olymars in real worldOlymars in real world
Page 5
DatabaseDatabase
InsertInsert
UpdateUpdate
DeleteDelete
SelectSelect
Custom1Custom1
Table1Table1
Stored ProceduresStored Procedures
DataDataClassesClasses
Web controlsWeb controls
Windows controlsWindows controls
ComboBoxComboBox
ListBoxListBox
CheckedListBoxCheckedListBoxDataGridDataGrid
ListBoxListBox
DropDownListDropDownListCheckBoxListCheckBoxList DataGridDataGrid
RepeaterRepeaterDataListDataList
Windows FormsWindows Forms
ApplicationApplication
FormForm
N Tiered N Tiered ApplicationApplication
Page 6
Overview
Internally known as OlyMarsInternally known as OlyMars
Project started in March 2001Project started in March 2001
Can help you (and your Can help you (and your organization) move quickly to organization) move quickly to the .NET worldthe .NET world
Already 200+ Already 200+ externalexternal customers customers using itusing it
Page 7
OverviewOverview
OlyMars is built on .NET (C#)OlyMars is built on .NET (C#)
Two ways of considering this toolTwo ways of considering this tool Comes with more 150+ built-in Comes with more 150+ built-in
templatestemplates Is a code generation frameworkIs a code generation framework
Relies on a SQL Server 2000 Relies on a SQL Server 2000 databasedatabase
Is built using itselfIs built using itself
Page 8
AgendaAgenda
OverviewOverview
InstallationInstallation
Using built-in templatesUsing built-in templates
Building custom templatesBuilding custom templates
Olymars in real worldOlymars in real world
Page 9
OlyMars SetupOlyMars Setup
Page 10
AgendaAgenda
OverviewOverview
InstallationInstallation
Using built-in templatesUsing built-in templates
Building custom templatesBuilding custom templates
Olymars in real worldOlymars in real world
Page 11
DatabaseDatabase
What do we need next?What do we need next?
Stored procedures…Stored procedures…
Table1Table1
Table2Table2
Table3Table3
Table4Table4
Designed by handDesigned by hand
Page 12
Stored ProceduresStored Procedures
DatabaseDatabase
InsertInsert
UpdateUpdate
DeleteDelete
SelectSelect
Auto-generatedAuto-generated
Custom1Custom1
Custom2Custom2
Custom3Custom3
Written by handWritten by hand
Table1Table1
Page 13
Stored ProceduresStored ProceduresGenerationGeneration
Page 14
Stored ProceduresStored Procedures
DatabaseDatabase
What do weWhat do weneed next?need next?
ADO .NET classesADO .NET classesable to call theable to call the
stored proceduresstored procedures
InsertInsert
UpdateUpdate
DeleteDelete
SelectSelect
Auto-generatedAuto-generated
Custom1Custom1
Custom2Custom2
Custom3Custom3
Written by handWritten by hand
Table1Table1
Page 15
DatabaseDatabaseStructureStructure
What do we need next?What do we need next?
Windows & WebWindows & Webcontrols that mapcontrols that map
to each of our tablesto each of our tables
Auto-generatedAuto-generated
Written by handWritten by hand
DataDataClassesClasses
Page 16
Web controlsWeb controls
Windows controlsWindows controls
DatabaseDatabase
Table1Table1
ComboBoxComboBoxListBoxListBox
CheckedListBoxCheckedListBox
DataGridDataGrid
ListBoxListBox
DropDownListDropDownList
CheckBoxListCheckBoxListDataGridDataGrid
RepeaterRepeater
DataListDataList
Auto-generatedAuto-generated
Written by handWritten by hand
Page 17
Web controlsWeb controls
Windows controlsWindows controls
DatabaseDatabase
ComboBoxComboBoxListBoxListBox
CheckedListBoxCheckedListBox
DataGridDataGrid
ListBoxListBox
DropDownListDropDownList
CheckBoxListCheckBoxListDataGridDataGrid
RepeaterRepeater
DataListDataList
Auto-generatedAuto-generated
Written by handWritten by hand
SPSP
Page 18
Web FormsWeb Forms
Windows FormsWindows Forms
DatabaseDatabase
Table1Table1
FormForm
PagePage
Auto-generatedAuto-generated
Written by handWritten by hand
SampleSampleApplicationApplication
Page 19
Rest of the Rest of the generationgeneration
Page 20
AgendaAgenda
OverviewOverview
InstallationInstallation
Using built-in templatesUsing built-in templates
Building custom templatesBuilding custom templates
Olymars in real worldOlymars in real world
Page 21
IEIE asp pageasp page
IISIIS
htmlhtmlcontentcontent
TOOLTOOL
TemplateTemplate
CodeCode
YouYou
SQLSQL
FileFile
Page 22
ToolTool
RepositoryRepository
Needs to connectNeeds to connectto a repositoryto a repository
Page 23
ToolTool
RepositoryRepository
Working DBWorking DB
Needs to connectNeeds to connectto a working databaseto a working database
and analyses itand analyses it
Page 24
ToolTool
RepositoryRepository In memoryIn memoryWorking DBWorking DB
representationrepresentation
Working DBWorking DB
When analyzed, createsWhen analyzed, createsan in-memory representationan in-memory representation
of this working databaseof this working database
Page 25
ToolTool TemplatesTemplates
RepositoryRepository In memoryIn memoryWorking DBWorking DB
representationrepresentation
Working DBWorking DB
Loads the templatesLoads the templatesin memoryin memory
Page 26
ToolTool TemplatesTemplates
RepositoryRepository In memoryIn memoryWorking DBWorking DB
representationrepresentation
Working DBWorking DB
This representation isThis representation isprovided to the templatesprovided to the templates
Page 27
ToolTool TemplatesTemplates
RepositoryRepository In memoryIn memoryWorking DBWorking DB
representationrepresentation
Working DBWorking DB
The templates areThe templates areexecuted by the toolexecuted by the tool
Page 28
ToolTool TemplatesTemplates
RepositoryRepository In memoryIn memoryWorking DBWorking DB
representationrepresentation
Working DBWorking DB
SQLSQLcodecode Can be some SQL codeCan be some SQL code
to execute on the working DBto execute on the working DB
Page 29
ToolTool TemplatesTemplates
RepositoryRepository In memoryIn memoryWorking DBWorking DB
representationrepresentation
DiskDisk
FileFile
Working DBWorking DB
SQLSQLcodecode
Can be any codeCan be any codeto save in filesto save in files
Page 30
AgendaAgenda
OverviewOverview
InstallationInstallation
Using built-in templatesUsing built-in templates
Building custom templatesBuilding custom templates
Olymars in real worldOlymars in real world
Page 31
Questions?Questions?
Page 32
© 2002 Microsoft Corporation. All rights reserved.© 2002 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.in this summary.