Download Impact of SQL Server 2005

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Extensible Storage Engine wikipedia , lookup

Database wikipedia , lookup

Oracle Database wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Tandem Computers wikipedia , lookup

Btrieve wikipedia , lookup

Microsoft Access wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Database model wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Team Foundation Server wikipedia , lookup

Open Database Connectivity wikipedia , lookup

SQL wikipedia , lookup

PL/SQL wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Transcript
Impact of SQL Server 2005 on
Application Architecture
Eric Nelson
Application Architect
Microsoft Ltd
http://blogs.msdn.com/ericnel
[email protected]
Agenda
• Hot News – 7 New Products
• If we have time … SQL Server 2005 Application
Architecture
The New Server Lineup …
• Microsoft SOA Broker - Data Edition
•
'Secure and scaleable data-centric web services for the enterprise'
• Microsoft XML Database Server
•
'Delivering XML at the heart of your Enterprise'
• Microsoft Application Server.NET
•
'Secure and scaleable application server for the 21 st century'
• Microsoft ETL Server
•
'The data consolidator for the Enterprise'
• Microsoft Diamond Reports Server
•
'A diamond amongst crystals'
• Microsoft Insight OLAP Server
•
'Changing data into insight for the knowledge worker'
• Microsoft Deep Thought Server
•
'A new breed of data server'
NB: Names are with legal and may change (in about 10mins )
SOA Broker – Data Edition
SOAP
Clients
SOAP
Internet
High-speed
Data
Connect
SOAP
SOA Broker
(No IIS)
SQL
Database
XML Database Server
Clients
XML
XML
Relational
Data
XQuery
XML
Relational
Data
XML
Database
Server
SQL
Database
Application Server.NET
Oracle
Clients
DB2
SQL
Code
WebService
Server
(No IIS)
Application
Server.NET
High-speed
Data
Connect
.NET
Framework 2.0
XML
XML
Database
Server
Microsoft ETL Server
Destinations
Sources
SQL
SQL
J Smith 36
DB2
Mr John Smith, Old, Happy
John Smith Male
John Smith Married
Oracle
XML
DB2
ETL Server
Oracle
Cleanses
Combines
Aggregates
XML
Diamond Reports Server
Sources
Rich
Client
Browser
SQL
SOAP/
http
DB2
Data
Oracle
Tiff, PDF,
XLS, CSV…
Diamond
Reports
Server
XML
Insight OLAP Server
Excel
OLTP
System
Complex
Queries
Browser
OLTP
System
Cube
3rd Party
Insight OLAP
Server
Data
OLTP
System
OLTP
System
'I need to know the average increase year on year for each sales person,
each department, each office, each country for 1993 to 1996 for widget x and
y and z – but only include sales of the large versions in red'
Deep Thought Server (codename)
Question: 'Is there
anything
interesting in this
data about my
sales?'
OLTP
System
OLTP
System
Answer: 'Yep,
employees who live
close and do not
drive are delivering
very few sales on
Friday afternoons.'
Data
OLTP
System
OLTP
System
42
Deep Thought
Server
Suite SKU
• Suite SKU includes a licence for all 7 products
• Single Media
• Single Install
• And as an introductory offer, the Suite SKU comes with the
new more scaleable, more secure, more manageable …
• SQL Server 20005 RDBMS
for FREE!!!!!!!!!!!!!!!!!
• Single Media
• Single Install
Breaking News – Final Product Names
Announced
• SQL Server 2005 Web Services and SQL Server 2005
Service Broker
•
alias 'Microsoft SOA Broker - Data Edition'
• SQL Server 2005 XML Data Type and FOR XML
•
Alias 'Microsoft XML Database Server'
• SQL Server 2005 .NET Framework Stored Procedures,
Triggers and User-Defined Types
•
Alias 'Microsoft Application Server.NET'
• SQL Server 2005 Integration Services
•
Alias 'Microsoft ETL Server'
• SQL Server 2005 Reporting Services
•
Alias 'Microsoft Diamond Reports Server'
• SQL Server 2005 Analysis Services
•
Alias 'Microsoft Insight OLAP Server'
• SQL Server 2005 Data Mining
•
Alias 'Microsoft Deep Thought Server'
SQL Server 2005 can significantly impact the
Architecture of Applications
Consider Application Architectures …
SQL Server 2005
• One extreme
VB6
All the code
TDS
•No code
• All data stored as
relational or blobs
Consider Application Architectures …
SQL Server 2005
• Another extreme
Winform
Client or
WebForm
Client
talking
SOAP
Internet
• 100% .NET Code
Exposed as Web
Service
• All data stored as
XML
Question: How many tables in an XML database?
Drill down into New Technologies which Affect
Application Architecture
Agenda
• Storage
• XML Data Type
• Programming
• CLR Integration
• SOA
• Web Services
• Query Notifications
• Service Broker
• Which maps back to …
• SQL Server 2005 XML Data type and FOR XML
• Alias 'Microsoft XML Database Server'
• SQL Server 2005 .NET Framework Stored Procedures, Triggers and
User-Defined Types
• Alias 'Microsoft Application Server.NET'
• SQL Server 2005 Web Services and SQL Server 2005 Service Broker
• Alias 'Microsoft SOA Broker - Data Edition'
Storage
XML Datatype
• Native SQL type
• Use for column, variable or parameter
• Can represent:
• XML 1.0 documents
• XML 1.0 fragments (0 to n element nodes and text nodes at top)
• Can be constrained by XML Schema collection
•
•
•
•
•
Queryable with XQuery
Updateable with XML-DML
XML Indexing
Well-formed and validation checks
Impact
• Allows XML Data to be stored, manipulated and retrieved easily with SQL
Server 2005
• WARNING: Not everything should be XML!
Programming
.NET Integration
• Choice of programming language
• TSQL, for data-intensive functions and procedures
• .NET languages, for CPU-intensive functions and
procedures
• Safe, scalable, modern execution environment inside database
• Choice of where to run logic
• Database, for logic that runs close to data
• Mid-tier, for logic that scales out
• Symmetric data access model – ADO.NET
.Net Integration
Business Logic
• User-Defined Functions
• Scalar
• Table Valued
• User-Defined Procedures
• User-Defined Triggers
• Assemblies
• Unit of encapsulation, deployment
• Impact
• Allows complex algorithms to be coded and maintained in a modern
programming language
• Allows 'middle tier' code to run very near the data
• WARNING: Does NOT mean replace all TSQL with .NET code
.Net Integration
Extensibility
• User-Defined Types
• Complex structure and behaviour
• Custom attributes, contract
• Supported in client libraries
• User-Defined Aggregates
• Extensibility hook into the Query Processor using a well-defined
contract
• Initialise a group, accumulate a value, merge groups, finish
computation, return result
• Impact
• Can extend the database to better meet your solutions needs
• WARNING: Not an Object Oriented Database
SOA
Services, SO, and SOA
• Service – An endpoint that reacts to messages
• Service Orientation – An architectural paradigm that employs
the following four tenets:
• Boundaries are explicit
• Services are autonomous
• Services share schema and contract, not class
• Service compatibility is determined based on policy
• Service Oriented Architecture (SOA) – Any architecture the
adheres to the Four Tenets of Service Orientation
Service-Oriented Architectures
•
SQL Server 2005 provides the key infrastructure for ServiceOriented Architectures (SOA)
•
Direct Web Services access
to SQL Server (HTTP/SOAP)
•
Service Broker – Service
based, decoupled,
asynchronous, reliable,
distributed messaging
•
Query Notifications –
Enabling responsive multi-tier
data backed caches
Web
Clients
Highly Responsive,
Data-Caching Mid-Tier
Queries with
Notifications
SQL requests via
HTTP/SOAP
Legacy NonWindows System
Service
based
transactional
workflow
SQL Web Services
•
•
•
Native SOAP access
•
Standards-based access to SQL Server
•
No client dependency
•
Improved Interoperability
http://server1/aspnet/default.aspx
New 'ENDPOINT AS HTTP' object
•
Configure connection info
•
Configure authentication
•
Expose Functions & SPs
•
Expose TSQL Batches
Impact
•
Easily add Web Services to existing
applications
•
Deliver Web Services without the need for
IIS/ASP.NET
•
WARNING: Not your 1st choice
Kernel
Mode
Listener
http://server1/sql/pubs?wsdl
Query Notifications
•
SQL Server manages cache invalidation
•
•
Integrated change detection notifies
client as soon as results of query
changed
•
Deep Query Processor integration
•
No more 'roll-your-own' cache
management!
Requests/
Responses
IIS/
ASP.Net
Just add a few lines of code to your existing
requests
•
ADO.NET
•
OLEDB
•
Leverages Service Broker architecture
•
Impact
•
Enabling easy implementation of highly
efficient mid-tier data caching
•
Off-load query workload from the server
to caching clients
Query &
Subscription
/Results
Notification
of Cache
Invalidation
SQL Server
2005
Service Broker
Service Broker
SQL Engine
SQL Engine
• Framework for building reliable, asynchronous, distributed applications
• Communication infrastructure
•
•
•
•
Two-way ’dialogues'
Reliable delivery to local, remote queues
Exactly-once, in-order semantics
Large Message Fragmentation
• Impact
•
•
•
Asynchronous messaging becomes 'easy' to add
Can handle huge peaks, long lived work with ease
WARNING: SQL 2005 to SQL 2005
Conversations and Dialogues
• Services communicate via formal, reliable sessions
known as Conversations
• Conversations are the basic primitive of
communication in SQL Server 2005. There are
two types:
• Dialogues - 1 : 1 communication channel between 2 services
• Monologues – 1 : N communication channel between a publishing service
and subscribing services (not in SQL Server 2005)
• Dialogues provide two-way messaging between two
services
•
•
•
•
•
•
Guaranteed delivery
Full-duplex or half-duplex communication
EOIO delivery
May be long-lived (years) or short-lived (seconds)
Are lightweight
Are sessions (similar to TCP conceptually)
Protocol
Customer
Service
Travel
Service
Endpoint Protocol
(Dialogue Semantic here)
TDS
TDS
Adjacent
Broker
Protocol
(Message
Fwding here)
Adjacent
Broker
Protocol
Conversation Groups
•
Business transactions often involve multiple services collaborating to achieve a
common end
• E.g. Booking a reservation
Hotel
2
5
1
Client
8
Travel
3
Airline
7
4
•
6
Conversation Groups:
Car
• Formalise the relationship between dialogues
• Have a unique identity
• Are a serialisable unit in SQL Server. Only one transaction may lock a
conversation group at a time
• Dialogues are always associated with a conversation group, hence
only one transaction can lock a dialogue at a time as well
Example: Order Entry
Example: Parallel SP
Summary
• SQL Server 2005 can have zero impact on
application architecture
• And
• SQL Server 2005 can impact greatly application
architecture
• Call to action
• Try SQL Server 2005 today
http://msdn.microsoft.com/virtuallabs/sql/default.aspx
• Get the trials
http://www.microsoft.com/emea/msdn/visualstudio/enxu/getthetrials/
Resources
• General articles on what we covered
• http://msdn.microsoft.com/SQL/2005/servprog/default.aspx
• XML and Databases whitepapers
• http://msdn.microsoft.com/XML/BuildingXML/XMLandDatab
ase/
• Service Broker
• http://www.exforsys.com/content/view/1712/356/
• http://www.sqlservicebroker.com/
© 2003-2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.