Source/Reference Diagram - E
Download
Report
Transcript Source/Reference Diagram - E
Microsoft
Programming
Technologies
By George Squillace
New Horizons of Michigan
MCT, MCSE, MCDBA,
CompTIA A+, CompTIA Network+
MCITP – Database Administration
MCITP – Enterprise Messaging
V2.0
" www.e-Squillace.com
First, What is an API?
API = Application Programming
Interface
Enables Easy Separation & Change of
Related Components
Both Software & Hardware Interfaces
Exist:
Examples:
ActiveX Data Objects (ADO)
ODBC
OLE-DB
MAPI (Messaging)
NetBIOS
Diagram Source:
A
NetBIOS, MAPI, COM, OLE,
OLE-DB, ODBC, ADSI, NDIS,
WinSock, WMI, ADO, CDO,
ISAPI, LDAP
http://www.e-squillace.com/tech/techdiagrams/What_is_the_value_of_an_API.htm
B
Custom Application
Building Blocks
Source/Reference
Diagram:
http://www.e-squillace.com
/tech
/techdiagrams
/DatabaseConstruction.htm
Then, use the List Box to select
the “Database Application
Building Blocks” diagram
Notice the Primary “Layers” of
the Custom-Built Application:
Front-End
Human
Windows
Application
HTML (Web app)
XML
(i.e., created using Visual
Basic .NET or C# .NET
programming languages)
(Active Server Pages)
User Interface
ADO
Office App
Custom Windows App
Custom Web App
ADO
Back-End (SQL)
Database API
ASP
(ActiveX Data Objects)
OLE-DB
(OLE-DB can also “sit” over ODBC)
OLE-DB
SQL Server Database Engine
SQL Server
(Database Engine)
Microsoft
Office
Application
(i.e.
, Access,
Excel,
Word…)
ODBC
What is ADO?
ADO is an Data Access API Between
Custom-Built Applications and a
Data Source
ADO = ActiveX Data Objects
An API that Simplifies Connecting a
Front-End Application to a Database
A
NetBIOS, MAPI, COM, OLE,
OLE-DB, ODBC, ADSI, NDIS,
WinSock, WMI, ADO, CDO,
ISAPI, LDAP
B
“Front-End” v. “Back-End” Programming
Front-End
Custom Windows application
Custom Web application
Many Custom-made Applications Involve a Database,
and in a Microsoft realm, this means
ADO Programming is Involved
Back-End
Database Design
Built Using
Transact-SQL
and/or GUI Tools
Stored Procedures
Views
Functions
Triggers
Programming Objects
Views
User-Defined
Functions
Stored
Procedures
Triggers
Data Integrity Design
Data Retrieval Design
(Constraints, Defaults and Rules)
(Indexes)
Table Design
(Columns, Data Types, Relationships [Logical Data Model])
Database Snapshot Design (SQL Server 2005, Enterprise Edition)
Schema Design (SQL Server 2005)
Database Creation, Files, Filegroup & Logfile Design
(Ask: Do I need more than just the Primary Filegroup, and/or more than one file per filegroup?)
Operating System & File System Design
(Number of Drive letters, placement of \Windows folder, Pagefile, SQL Server binaries, etc.)
Server Hardware
(CPU, RAM, Number and size of Disks, Number of Drive Channels)
Diagram Source:
www.e-Squillace.com/Tech/TechDiagrams/DatabaseConstruction.htm
Example of a Database-Oriented
Custom Windows Application
Example of a Database-Oriented
Web Application
Object-Oriented Programming (.NET)
v.
Procedural Programming (SQL)
Object-Oriented Programming
References are Made to Existing “Machinery”
within a Named Heirarchy
Objects Have Properties and Methods
Properties…
…describe the Information & Attributes About an
Object (.i.e., Red v. Blue, Times Roman v.
Verdana)
Methods
Actions the Object Can Take
Object-Oriented Programming (OOP) Requires
an Object Model and is Event-Driven
Procedural Programming
Procedural Programming is Often
Batch-Oriented
What is the .NET Framework?
(a.k.a. What is the .NET Framework,
and Why Do I Care?)
Picture the Framework Like
a “Black Box” of Built-In
Functionality or Machinery
Where Does Visual Studio “Fit” into
this Equation, and What is an IDE?
Visual Studio is Used, In Part, to Create
Front-End Applications
Windows Applications
Web Applications (ASP-based)
Many Other Components that “Execute” (Run
Code)
Definition: “IDE”, or “Integrated Development
Environment”
The Software Tool Used to Create & Debug
Programming Code
Often Specific to a Particular Programming
Language
A Number of Languages are Available within
Visual Studio’s IDE (later in this presentation)
What is a Visual Studio
Solution?
A Solution is a Collection of
One or More Related Projects
A Solution Represents the Sum
of All Components to be
Deployed
Click on picture for larger view.
You may have to press F11 within your
Browser to go to Full Screen mode
What is a Visual Studio Project?
A Project is a Deployable Component
Created & Coded Within Visual Studio
A Project is Based on a Template, which
Defines Two Important Characteristics of
the Project:
The Language in which the Project is Coded
The Type or Class of Component to be Created,
Such as:
Windows Application (Windows Forms)
Web Application
Windows Service
Web Service, etc.)
A Solution Can Contain Multiple Projects,
Each Based on a Different Language
Projects Are Created in One of the
Following Available .NET Language(s)
VB .NET
C# .NET
J++ .NET
C++ .NET
Each Language has Strengths and Weaknesses
Regardless of the above Language Used to Code a
Project, when the Project is Built Visual Studio
creates code in an Intermediate Language rather
than Compiled. The Intermediate Language is
called “Microsoft Intermediate Language” Code
(MSIL), and is pronounced “Missle” code.
Presenter-Led Demonstration: Create a
Windows Forms Application Using Visual
Basic .NET
Create a Project
Add a MenuStrip Control
Insert Standard Items
Add a ToolStrip Control
Insert Standard Items
Add a Label
Reveal Code behind the Label
Add a Button
Reveal the Code behind the Button
Investigate the Code Behind the
Objects
Add Code that Demonstrates
“Intellisense” (Defined Next Slide)
Intellisense
An Auto-completion Capability When
Entering Code Behind Objects
Intellisense is Aware of the Object-Model
(Objects/Properties/Methods) of the
Current Object
Hence, Object-Oriented Programming
Demonstrate Use of Intellisense when
Adding MsgBox() code to a Label Object
Click on picture for larger view.
You may have to press F11 within your
Browser to go to Full Screen mode
Related Visual Studio 2005 Courses:
2546, Core Application Development
2547, Advanced Windows Application Development
2543, Core Web Application Development (ASP)
2544, Advanced Web Application Development
2541, Core Data Access Development (ADO)
2542, Advanced Data Access Development
2548, Core Distributed Application Development
2549, Adv. Distributed Application Development
Compare the Above Courses to “Application Building
Blocks” Graphic Earlier in the Presentation
Resources
http://www.e-squillace.com/nh,
then click on the very tiny “For AEs” link in the lower, right-hand
corner of the page.