Professional Documents
Culture Documents
Microsoft has also done significant work to integrate the Windows Communication Foundation with
existing Microsoft technologies for building distributed systems including COM+, MSMQ, and
ASP.NET Web services. Applications built with those existing technologies can now be exposed as
services without modification to the application. This infrastructure-level solution greatly assists
developers in exposing existing applications as services. The Windows Communication Foundation
also provides simple and mechanical mechanisms to migrate applications that use .NET remoting,
ASP.NET Web services, and .NET Enterprise Services to natively use the Windows Communication
Foundation programming model.
4. Why do we need XAML as a new way to create applications in .NET Framework 3.0
(formerly WinFX)?
The new application model in Windows Vista separates out declarative code (XAML) from procedural
code (C#, VB.NET, J#, etc.). One major reason for using XAML is to bridge the gap between
developing an application for Microsoft Windows and developing an application for the Web.
XAML does not give you new functionality; it is just a declarative way to instantiate and initialize
Microsoft .NET objects. XAML does, however, provide you with a way to solve problems such as:
When you write procedural code (C#, etc.) to create a number of controls, and compare that to the
equivalent XAML, the XAML is more compact, less redundant, and less error-prone. Writing a
designer for XAML will be a lot easier than writing a forms designer for C# or VB.NET, since the
designer won’t have to do all that code parsing to figure out where to insert or change the setting of a
property.
In the real world, many customers find requests coming in at the very last minute asking for changes
to the user interface—a button needs to be moved or removed or the company logo needs to appear
on every window. It is especially at the end of the development process, when you think your code is
“frozen” and tested, that you’d rather not have to dive into the source code and start changing things.
Who knows what subtle interaction you might break? With XAML, most—if not all—of the presentation
layer is in its own file, thus providing a high degree of certainty that making a user interface change in
the XAML will not break business logic code.
XAML enables professional graphic designers or user interface specialists to add beauty, style and
grace to an application without modifying source files directly. Partitioning the user interface and the
logic that drives it means each of us can get our job done without getting in each other’s way or
having to understand the myriad details of one another’s tools.
XAML is considerably smaller than the equivalent C# code. Since there is less code, there are fewer
opportunities for errors
9. Q: What is the difference between Windows Vista and .NET Framework 3.0 ?
A: The .NET Framework 3.0 is a managed-code programming model, including APIs for the Windows
Presentation Foundation and the Windows Communication Foundation.
10. Q: Where is the new functionality in the .NET Framework 3.0 (such as WCF, WF, WPF, and
CardSpace) installed to? Is that different from where the .NET Framework 2.0 is installed to?
A: Components shared with the .NET Framework 2.0 are installed at %windir
%\Microsoft.NET\Framework\V2.0.50727. Components that are new to the .NET Framework 3.0 are
installed to %windir%\Microsoft.NET\Framework\V3.0. Check out the .NET 3.0 Deployment
whitepaper for more information on installation and deployment.
11. Q: How large is the .NET Framework 3.0? Does this change make the release larger?
A: There’s no change to the size of the .NET Framework 3.0 as a result of the name change from
WinFX. It is about 49Mb, and that includes the .NET Framework 2.0, which is about 22Mb.
12. Q: How does servicing work for the .NET Framework 3.0? If I install the .NET Framework
3.0, can I get service updates for the .NET Framework 2.0?
Servicing will be available for the .NET Framework 2.0 components as long both it and the operating
system it is installed on are still in service. Any service updates for the .NET Framework 2.0 will work
for the 2.0 components installed as a part of the .NET Framework 3.0 as well.
13. Q: What operating systems will the .NET Framework 3.0 be available for?
A: The .NET Framework 3.0 will be available for and supported on Windows Vista, Windows Server
2003 (SP1), Windows Server 2003 SP2, and Windows XP (SP2).
14. Q: When will the .NET Framework 3.0 be released? A: The .NET Framework 3.0 is included as
part of Windows Vista, and customers who get Windows Vista will receive the .NET Framework 3.0.
The first release of Windows Vista to business customers is currently planned for November 2006,
although the final date will depend on customer feedback.
At the same time, we will make the .NET Framework 3.0 broadly available for download to all
customers using Windows XP and Windows Server 2003.
15. Q: How does the .NET Framework 3.0 relate to Windows Vista? A: The .NET Framework 3.0
is a core component of the Windows Vista operating system, and is installed by default on Windows
Vista. It will also be available for Windows XP and Windows Server 2003.
16. Q: Are there any parts of the .NET Framework 3.0 that only work on Windows Vista? A:
Though there are some optimizations in the .NET Framework 3.0 that take advantage of new
functionality in Windows Vista, we’ve striven to provide a consistent experience for the .NET
Framework 3.0 across Windows Vista, Windows Server 2003, and Windows XP.
17. Q: Why is the .NET Framework 3.0 a major version number of the .NET Framework if it
uses the .NET Framework 2.0 runtime and compiler?
A: The new technologies delivered in the .NET Framework 3.0, including WCF, WF, WPF, and
CardSpace, offer tremendous functionality and innovation, and we wanted to signal that with a major
release number.
18. Q: How does “Side by Side” work for the .NET Framework 3.0?
A: Since the .NET Framework 3.0 includes only new components that are added to the .NET
Framework 2.0 and there is no overlap between the assemblies of the .NET Framework 2.0 and
the .NET Framework 3.0, there’s no real “Side by Side” scenario. You can run applications based on
the .NET Framework 2.0 and applications based on the .NET Framework 3.0 on the same machine.
19. Q: I’m running an application built on WinFX today. Do I need to do anything different to
make it run on the .NET Framework 3.0?
A: No, applications running on WinFX will now run on the .NET Framework 3.0 without any changes.
Of course, since the .NET Framework 3.0 is still under development, there may be changes to the
framework in the future.
20. Q: Can I remove particular .NET Framework 3.0 components?
A: No, the .NET Framework 3.0 components (WPF, WCF, WF, and CardSpace) are part of a single
package, and are installed together.
21. Q: Will C# 3.0, VB.NET 9.0, Atlas, or Linq be included in the .NET Framework 3.0?
A: No, these features are planned for future releases of the .NET Framework. The .NET Framework
3.0 includes only the technology formerly described as WinFX.
22. Q: Will there be a .NET Compact Framework 3.0 release with release of .NET Framework
3.0?
A: No. We are currently working on developing a version of the .NET Framework 3.0 functionality that
will be supported on the Compact Framework, but shipping plans and included functionality have not
been announced.
23. Q: What is the version number for the next version of the .NET Framework, codenamed
“Orcas”?
A: We’re still planning the “Orcas” release, and so this number is not yet defined.
24. Q: What happens when I install the .NET Framework 3.0? How can I upgrade if I already
have the .NET Framework 2.0 installed?
A: When you install the .NET Framework 3.0, the installer will check to see whether you already have
the .NET Framework 2.0 (released version) installed. If not, the .NET Framework 3.0 installer will
install the .NET Framework 2.0 for you, and then install the new .NET Framework 3.0 components. If
you do have the .NET Framework 2.0 installed, the .NET Framework 3.0 installer will only install the
new components of the .NET Framework 3.0.
25. Q: My organization went through the approval process of supporting the .NET Framework
2.0 in production. Do we need to go through the same process all over again for the .NET
Framework 3.0? Do I need to do any application compatibility testing for my .NET Framework
2.0 applications?
A: Because the .NET Framework 3.0 only adds new components to the .NET Framework 2.0 without
changing any of the components released in the .NET Framework 2.0, the applications you’ve built on
the .NET Framework 2.0 will not be affected. You don’t need to do any additional testing for your .NET
Framework 2.0 applications when you install the .NET Framework 3.0.
26. Q: Will the name change be reflected in any of the existing .NET Framework 2.0 APIs,
assemblies, or namespaces?
A: There will be no changes to any of the existing .NET Framework 2.0 APIs, assemblies, or
namespaces. The applications that you’ve built on .NET Framework 2.0 will continue to run on the
.NET Framework 3.0 just as they have before.
27. Q: Which version of the Common Language Runtime (CLR) does the .NET Framework 3.0
use?
The .NET Framework 3.0 uses the 2.0 version of the CLR. With this release, the overall developer
platform version has been decoupled from the core CLR engine version. We expect the lower level
components of the .NET Framework such as the engine to change less than higher level APIs, and
this decoupling helps retain customers’ investments in the technology.
30. Q: How does the .NET Framework 3.0 relate to the .NET Framework 2.0?
A: The .NET Framework 3.0 is an additive release to the .NET Framework 2.0. The .NET Framework
3.0 adds four new technologies to the .NET Framework 2.0: Windows Presentation Foundation
(WPF), Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), and
Windows CardSpace. There are no changes to the version of the .NET Framework 2.0 components
included in the .NET Framework 3.0. This means that the millions of developers who use .NET today
can use the skills they already have to start building .NET Framework 3.0 applications. It also means
that applications that run on the .NET Framework 2.0 today will continue to run on the .NET
Framework 3.0.
32. Will XAML replace other programming languages like C# and VB?
No. XAML complements procedural languages, much the same way HTML complements
ECMAScript. You can very quickly declare how you want your user interface to look with XAML, then
use a language like C# to define the business logic behind that user interface
33. Can XAML be used to develop both Web and client-server applications?
XAML is used as part of Windows Presentation Foundation to write smart client applications that take
advantage of the power of the PC and benefit from all of the power of the CLR. For Windows
Presentation Foundation applications, the logic runs on the client, unlike ASP.NET, which processes
on the server. ASP.NET continues to be the answer to producing powerful Web applications that take
advantage of the benefits of the CLR on the server
34. Why do we need XAML as a new way to create applications in .NET Framework 3.0
(formerly WinFX)?
The new application model in Windows Vista separates out declarative code (XAML) from procedural
code (C#, VB.NET, J#, etc.). One major reason for using XAML is to bridge the gap between
developing an application for Microsoft Windows and developing an application for the Web.XAML
does not give you new functionality; it is just a declarative way to instantiate and initialize Microsoft
.NET objects. XAML does, however, provide you with a way to solve problems such as:
When you write procedural code (C#, etc.) to create a number of controls, and compare that to the
equivalent XAML, the XAML is more compact, less redundant, and less error-prone. Writing a
designer for XAML will be a lot easier than writing a forms designer for C# or VB.NET, since the
designer won’t have to do all that code parsing to figure out where to insert or change the setting of a
property.
In the real world, many customers find requests coming in at the very last minute asking for changes
to the user interface—a button needs to be moved or removed or the company logo needs to appear
on every window. It is especially at the end of the development process, when you think your code is
“frozen” and tested, that you’d rather not have to dive into the source code and start changing things.
Who knows what subtle interaction you might break? With XAML, most—if not all—of the presentation
layer is in its own file, thus providing a high degree of certainty that making a user interface change in
the XAML will not break business logic code.
XAML enables professional graphic designers or user interface specialists to add beauty, style and
grace to an application without modifying source files directly. Partitioning the user interface and the
logic that drives it means each of us can get our job done without getting in each other’s way or
having to understand the myriad details of one another’s tools.
XAML is considerably smaller than the equivalent C# code. Since there is less code, there are fewer
opportunities for errors
XAML will provide the standard mechanism to enable XML web services to participate in business
transactions spanning multiple parties across the Web. Web services provide unprecedented
business interoperability by enabling businesses to share processes and competencies on the web,
creating a new era of business connectivity and dynamic, “plug-and-play” e-commerce.
In order to use a web service, the existence of the service must be discovered. This discovery usually
takes place in a “phone book” of web services known as a registry. Registries, such as UDDI and the
ebXML registry/repository, contain human readable information that can be browsed and searched to
find companies and their services.
Once a desired service is located, the terms of use can be reviewed and/or negotiated. The e-speak
framework provides an elaborate negotiation mechanism. ebXML addresses the same issue through
TPAML (Trading Partner Agreement Markup Language.)
Now that you know which service you need, you still have to know some additional things before you
can use the web service; where is it located, what type of input it expects, what type of output it
produces, which web service protocols it uses, etc. Service description languages, such as WSDL,
provide a standard mechanism to outline all these details about a web service. Typically, for publicly
available web services, their service descriptions are also made publicly available. The URI of the
service description can be registered with a web service in a registry.
Once you know those details, you can start formulating a message to send to the service. However,
some web services will require special packaging wrapped around the message, letting the web
service know what to do with the message.
In this situation, an underlying web service transport protocol may need to be used, which can
provide: an envelope which defines what is in a message and what program should deal with it2.
specific information about how to exchange instances of application-defined data-types in a serialized
format (You can think of this as how the programs agree on the format of a text-based XML file to
send across the internet which contains information about a relational database or other complicated
data structure within an application)3. a definition of a convention that can be used to represent
remote procedure calls and responses.
XML-based web service transport protocols include: SOAP, XP (W3C XML Protocol) and ebXML
Transport. Most of these web service transport protocols make use of existing protocols, such as:
HTTP, SMTP, TCP, etc., to carry web service requests and responses across the internet.Another
layer in the web services architecture is business process modeling. These languages define the
business level descriptions of what needs to be accomplished. For example, they can describe a
business scenario such as, “if a purchase order is received by my purchasing web service, the steps
that need to be completed are: check inventory; if the inventory is available, ship product; if product
ships, let accounting know, etc.” Business process modeling languages determine what needs to be
completed and the necessary order of completion. However, they do not control nor monitor the
underlying transactions themselves, where XAML is used to initiate, monitor, commit, cancel, retry, or
initiate a compensating transaction.Consider this web services architecture example: A distributor of
groceries needs to process an order from ACME grocery store. Included in the order is an order for
100lbs of fresh tomatoes. The grocery distributor needs to process this order. In order to fulfill this
order the web services architecture will be used in a variety of ways.
The first requirement (even before the distributor gets the order) is to discover that Johnny’s Tomato
Farm and Jimmy’s Refrigerated Transport provide the necessary business services. Both services are
discovered via a registry; in this case, the distributor searched several different registries.
The second action is to make sure the distributor’s business web understands how to talk with each of
these web services. This is done by downloading a service description for each of the two services.
The registry entry indicated that Jimmy’s Refrigerated Transport is described as an e-speak service;
whereas, Johnny’s Tomato Farm services are based solely on SOAP. An XML description is retrieved
for the e-speak service and a WSDL document is retrieved for the SOAP service. Links to the service
description documents were found in the registry entries.
An additional action must also happen before the order is placed. The business process model of a
purchase order must be executed. 1)check to make sure that the person ordering is authorized to
order; 2)check to make sure the ordering company has paid their last invoice; and 3)proceed to order
the merchandise by ensuring that both services get managed using XAML. This entire business
process is defined by an ebXML business process model. Some additional models may need to be
set up…. If the item is perishable, then verify the transport availability, etc.
Now, the grocery distributor is ready for action and can accept a tomato order from ACME grocery
store.
The order from ACME grocery store is taken via the distributor’s business web, and according to the
business process model, the person is authorized and the finance department gives the approval. The
transaction is begun on a business level. Because Tomatoes are marked as perishable, the
“perishable food” model is initiated.
This model determines the business logic which states that transport must be arranged before
tomatoes can be officially ordered. This logic is then used by the software that coordinates the calling
of the relevant web services. The calling system prepares a message directed to a web service at
Johnny’s Tomato Farm using SOAP, along with XAML to specify initiation of the transaction. In like
manner, the system requests a web service at Jimmy’s Refrigerated Transport to supply the truck and
driver, again using XAML to stage the request. Once both web services have responded confirming
availability, the calling system interacts with the web services using XAML to facilitate the completion
of the business process.
43. How does XAML relate to service description languages (WSDL, XMI)?
Services description languages define the details that are needed to use a web service. Typically that
includes: schema for the input, schema for the output, URI of the service, type of transport used
(SOAP, XP, HTTP GET, …) The XAML group will consider providing binding information to service
description languages.
44. How does XAML relate to business process modeling languages (ebXML business
process, BPML)?
BPML covers dimensions of business process modeling that are specific to processes internal to the
enterprise, including business rules, security roles, distributed transactions, and exception handling.
XAML is targeted at coordinating business transactions that span web services crossing corporate
boundaries.
45. How does XAML relate to XML-based web service transport protocols (XP, SOAP, ebXML
Transport)?
XAML is designed for the coordination of transactional web services, not XML transportation and
packaging issues. XAML will work with standard XML-based service transport protocols, including
W3C XML Protocol (XP), SOAP and ebXML transport protocol.
51. What is the relationship between XAML and other transaction protocols?
Classical online transaction management (OLTP) is the process of making simultaneous changes in
several places “atomically” - that is, all the changes related to a transaction are made or none of the
changes are made.
For example, within a single database connection, the DBMS provides some means of demarcating
the beginning and end of a transaction. This demarcation ensures that changes to the database are
made atomically. Sometimes, changes must be made atomically across multiple databases. For
example, an insurance company might have to change both its claims information and its audit
information at the same time, even though the audit information is in a separate database from the
claims information. This multiple-database change would ensure that, during a later audit, the
company would know which agent took the first report of the loss. In this case, the existing XA
(Transaction Authority) protocol is useful. XA provides a standard mechanism for coordinating
changes to multiple databases (called resource managers or RMs) as an atomic unit of work.
Basically, the XA protocol asks each RM to vote on whether a commit will be successful. Once an RM
has voted “yes,” it must be able to commit the open unit of work without failure. The commit occurs
only if all RMs vote “yes.” This process of obtaining a vote, and then performing a commit, is called a
“two-phase commit.”
Resource managers are most frequently databases, but they can also be message-oriented
middleware. XA allows completely heterogeneous collections of RMs within a single transaction; for
example a transaction can commit across DB/2 and Oracle at the same time. All major database
vendors support XA.
While JTA provides an API for demarcating transactions in Java-based application logic, XAML
provides an agreed upon protocol or a coordinated process of interaction among transactionally-
aware web services over a defined transport. Given this, a web service internally implementing JTA
could expose these transactional capabilities using XAML.
58. What are the important principles of SOA (Service oriented Architecture)?
63. Can you explain how End points, Contract, Address and Bindings are done in WCF?
67. What are the major differences between services and Web services?
79. I want to create a project like Google maps how can we do that with Atlas?
86. How can we host a service on two different protocols on a single server?
98. When should we use a sequential workflow and when should we use state machiHow
112. What are the various states in XMLHttpRequest and how do we check the same?
113. How can we get response text?
128. Can you explain how we can separate code and XAML?
134. I want to create a project like Google maps how can we do that with Atlas?
144. Are there advantages to building workflows using only XAML? Are there
disadvantages?
145. What are the pros and cons of using an ExternalDataExchange service versus going
directly to the WorkflowQueuingService?
148. How can my code participate in a database transaction with a workflow instance?
150. Describe a scenario where the WF runtime will cancel an executing activity.
153. Tell me about the following activities: Replicator, Parallel, and Policy.