What`s New in WCF 4.5 - Extremely Talented Monkeys

advertisement
WHAT’S NEW IN WCF 4.5
Ed Jones
Grey Guindon
WHAT’S NEW IN WCF 4.5
Introduction: Simplify, Simplify, Simplify
Throttles, Timeouts, & Quotas
Simpler Config Files
Config File Tooltips, IntelliSense, &Validation
Contract-First Generation
HTTPS For Free!
OFF-TOPIC (but equally important): What’s
Next in BizTalk
P:2
“I submit WCF's various
reader quotas and limits
as irrefutable proof the
way to hell is paved with
good intentions.”
THROTTLES, TIMEOUTS, QUOTAS
Property
On
Old Value
New Value
ChannelInitializationTimeout
NetTcpBinding
5 sec
30 seconds
ListenBacklog
NetTcpBinding, SMSvcHost.exe
10
16 * processor count
MaxPendingAccepts
NetTcpBinding, NamedPipeBinding
1
2 * processor count
MaxPendingAccepts
SMSvcHost.exe
2
4 * processor count
MaxPendingConnections
NetTcpBinding, NamedPipeBinding
10
12 * processor count
ReceiveTimeout
SMSvcHost.exe
10 sec
30 seconds
READER QUOTAS
Name
Old Value
New Value
MaxArrayLength
16384 elements
Int32.MaxValue (text)
MaxBytesPerRead
4096 bytes
Int32.MaxValue (text)
MaxDepth
32 nodes deep
128
MaxNameTableCharCount
16384 characters
Int32.MaxValue (text)
MaxStringContentLength
8192 characters
Int32.MaxValue (text)
P:4
CONTRACT FIRST UTILITY
WCF 4.5 give us the capability to build data
contracts and classes directly from XSDs.
To use the contract-first tool, the XSD must be
downloaded locally.
The contract-first tool is integrated into Visual
Studio 2012 as a build task.
You can configure how the dev environment will
create the contracts through the “WCF Options”
item in the Project properties.
P:5
CONTRACT-FIRST SETTINGS
•
•
•
•
•
•
•
•
•
•
•
•
P:6
Serializer Mode: This setting determines which serializer is used for reading service contract files
Reuse Types: This setting specifies which libraries are used for type reuse.
Collection Type: This setting specifies the fully-qualified or assembly-qualified type to be used for the
collection data type.
Dictionary Type: This setting specifies the fully-qualified or assembly-qualified type to be used for the
dictionary data type.
EnableDataBinding: This setting specifies whether to implement the INotifyPropertyChanged interface
on all data types to implement data binding.
ExcludedTypes:This setting specifies the list of fully-qualified or assembly-qualified types to be excluded
from the referenced assemblies.
GenerateInternalTypes: This setting specifies whether to generate classes that are marked as internal.
GenerateSerializableTypes: This setting specifies whether to generate classes with the
SerializableAttribute attribute.
ImportXMLTypes: This setting specifies whether to configure the data contract serializer to apply the
SerializableAttribute attribute to classes without the DataContractAttribute attribute
SupportFx35TypedDataSets: This setting specifies whether to provide additional functionality for typed
data sets created for .Net Framework 3.5..
InputXsdFiles: This setting specifies the list of input files.
Language: This setting specifies the language of the generated contract code.
NamespaceMappings: This setting specifies the mappings from the XSD Target Namespaces to CLR
namespaces.
OutputDirectory: This setting specifies the directory where the code files will be generated.
BETTER INTEGRATION WITH THE HOST
• Automatically inherit the security settings for IIS
• Inherit SSL settings
• Inherit authentication modes (and will also support
multiple authentication modes per end point )
**** previously if you wanted to configure a WCF endpoint that
supported a variety of the transport security modes, those
were each separate end points and there was one per end
point and they would often sit at different addresses - 4.5 will
support multiple authentication modes.
P:7
INTELLISENSE – TOOL TIPS
With Intellisense you get context help (Tooltip
Text) that helps to define a particular selection
P:8
INTELLISENSE – TYPES OF
When configuring an <endpoint> you can now
reference a dropdown for the contract
(Intellisense lists all contracts in your project)
P:9
INTELLISENSE – TYPES OF
When configuring custom bindings – say wiring
up a binding reference type in the definition of
your <endpoint> - Intellisense is smart enough to
reference those which are (already) defined
within your config file…
P:10
CLEAN CLIENT CONFIGURATION GENERATION
P:11
DEMO
P:12
CLASSES FROM XML
You can generate a class from a sample XML
document using the “Paste XML as classes”
feature of Visual Studio.
This is a .NET 4.5 feature (not specific to WCF)
P:13
DEMO
P:14
“Reports of my death are greatly
exaggerated”
–BizTalk Server*
*also Mark Twain
P:15
WHAT’S NEXT IN BIZTALK SERVER (2010 R2)
Platform Update: support for Visual Studio 2012,
Windows 8 Server, SQL Server 2012, Office 15 and
System Center 2012
B2B enhancements to support the latest standards
natively
– HL7 2.5.1, 2.6
– SWIFT 2012 Message Pack
– X12 5030+, EDIFACT D05B+
Better performance
– Multi-fold improvements ordered send port scenarios
– Improvements to the performance of dynamic send ports and
ESB, via host handler association of send ports
– MLLP adapter performance
P:16
Better manageability
– Visualize BizTalk artifact dependencies in BizTalk Admin
console
– ESB Toolkit as core part of BizTalk setup and product
Improved Connectivity
–
–
–
–
Consume REST services directly in BizTalk
Simplified SharePoint integration experience
Improvements to existing adapters (e.g., HIS, SMTP)
Easy connectivity to Azure Service Bus relay, queues
and topics
and BizTalk running in Azure…
P:17
BIZTALK 2010 R2 TIMELINES
The CTP version is available now as an Azure
VM
Beta will be released sometime in October
RTM will happen about 6 months after Windows
Server 2012 releases (April 2013ish?)
P:18
REFERENCES:
Daniel Roth, “What’s New in Windows
Communication Foundation in Microsoft .NET 4.5”
Bala Sriram & Rajesh Ramamirtham, “Application
Integration Futures: the Roadmap and What’s Next
on Windows Azure”
Javed Sikander & Rajesh Ramamirtham, “Building
Integration Solutions Using Microsoft BizTalk OnPremises and on Windows Azure”
MSDN, “Contract First Tool”,
http://msdn.microsoft.com/enus/library/hh674270.aspx
MSDN, “Generating Data Type Classes from XML”,
http://msdn.microsoft.com/enus/library/hh371548.aspx
P:19
THANK YOU!
Ed Jones
– ed.jones@rbaconsulting.com
– http://talentedmonkeys.wordpress.com
Grey Guindon
– grey.guindon@rbaconsulting.com
P:20
Download