XAML Interview Questions

Average rating
(0 votes)
  1. Are there advantages to building workflows using
    only XAML?
  2. Are there disadvantages in building workflows using
    XAML?
  3. Is XAML only used for quick UI
    prototyping?
    XAML will be used for production work, not just for prototyping.
    Specifically, localizing your application or ensuring that it is
    accessible—common for most applications today—will be a lot more work if you
    build your own user interface from code instead of using XAML
  4. 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
  5. 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 class="kLink" href="http://oopsconcepts.com/interviewquestions/#"
    onclick="adlinkMouseClick(event,this,16);" oncontextmenu="return false;"
    onmouseout="adlinkMouseOut(event,this,16);"
    onmouseover="adlinkMouseOver(event,this,16);"
    style="POSITION: static; TEXT-DECORATION: underline! important" target="_new">
    style="FONT-WEIGHT: 400; FONT-SIZE: 12px; COLOR: green! important; FONT-FAMILY: Arial, Helvetica, Georgia, Sans-Serif; POSITION: static">
    style="FONT-WEIGHT: 400; FONT-SIZE: 12px; COLOR: green! important; BORDER-BOTTOM: green 1px solid; FONT-FAMILY: Arial, Helvetica, Georgia, Sans-Serif; POSITION: relative; BACKGROUND-COLOR: transparent">
    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
  6. Why do we need XAML as a new way to create applications in .NET
    Framework 3.0 (formerly WinFX)?
    The new application 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
  7. What is XAML?
    “XAML, Extensible Application Markup Language, is Microsoft’s XML-based
    language for creating a rich graphical user interface….XAML was introduced in
    2003 as the language behind Windows Presentation Foundation, then known as
    Avalon.”
  8. Why do we need XAML?
    Well, OK, in the real world, there’s been a move towards declarative
    programming for a while. XAML is in some ways a logical successor to SGML-based
    markup languages like HTML and XML. Although of course XAML is an XML dialect it
    provides a way to bind presentational data (the declarative list of UI elements)
    with some or all of the code used with them. Now why, you might ask, would
    Microsoft be so bothered about that? Simply put, Microsoft needs to find new
    ways to exploit the processing power of the client as well as the server, if it
    is to continue selling operating systems for the next few decades. If true
    thin-client computing ever really got started, it would eviscerate the OS
    market. That’s what Google is aiming for, and it’s exactly the thing that
    Microsoft fears.XAML allows you to export processing to the client machine in a
    way that mere script doesn’t. In effect, you can stream the interface of an
    application, plus a portion (or even all) of its logic, over the wire using a
    protocol that’s open on most firewalls. You can stream XAML into the browser and
    get something roughly equivalent to ActiveX controls or Java applets (which
    exports .NET to the browser as Silverlight has done, something Microsoft has
    been planning for a while). Silverlight is the first fruit of this particular
    plan.However, don’t expect XAML-over-HTTP to stay within the browser for long.
    It’s a perfect way to provide desktop apps without installers,
    software-as-a-service, all the stuff Microsoft was supposed to be planning years
    back when people were still talking about Windows.NET - you didn’t think they
    just gave up on all that stuff, did you?Add to this the bare-metal hypervisor
    stuff they are developing - ‘Viridian’ for Windows Server 2008 will be a hobbled
    implementation of this, but there’s more coming, and it will likely be the core
    architecture of whatever ‘Vienna’ turns out to be - and you can see a
    developing of (supposedly) safe, sandboxed, virtualised applications streamed
    from the net over fast connections, always up to date, running partially on the
    client and partially on the server, potentially replacing today’s stateless
    browser-based of internet application.I doubt the reality will live up to
    the dream - it never does with Microsoft, any more than it does with anyone else
    - but that’s the reason they want you to buy into XAML in a nutshell.
  9. What is XAML?
    Transaction Authority Markup Language (XAML) is a vendor-neutral standard that
    enables the coordination and processing of online transactions in the rapidly
    emerging world of XML web services - the revolutionary new of
    Internet-based computing that is now being adopted by all major systems and
    software vendors. XAML is intended to be a completely open standard for
    web-based business transactions.The standard defines a set of XML message
    formats and interaction s that web services can use in order to provide
    business-level transactions that span multiple parties across the Internet.

    Why is XAML important for the delivery of e-commerce solutions?

    As plug-and-play e-commerce emerges, businesses are mixing and matching web
    services from multiple partners to create sophisticated business web services.
    Because these “business webs” are comprised of aggregated calls to loosely
    coupled web services distributed across the web, and provided by multiple
    businesses, coordination among these web services is imperative, in order to
    carry out business-level transactions. There needs to be the notion of a
    transaction at the web service level, as well as a means by which software
    systems can coordinate the processing of calls to multiple web services to
    provide higher-level business transactions.

    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.

    What kind of
    applications will XAML enable?

    As plug-and-play e-commerce emerges, businesses
    are mixing and matching web services from multiple partners to create
    sophisticated e-business applications. Because these “business webs” consist of
    loosely coupled web services distributed across the web from multiple
    businesses, coordination among these web services is imperative, in order to
    carry out business-level transactions. There needs to be the notion of a
    transaction at the web service level, as well as a means by which software
    systems can coordinate the processing of calls to multiple web services to
    provide higher-level business transactions.

    Who is supporting XAML?


    Bowstreet, Hewlett-Packard, IBM, Oracle and Sun are leading the XAML initiative
    to ensure distributed e-business transactions across the Internet. However, XAML
    is not owned by any one vendor. Instead, the standards proposal will be
    submitted to an appropriate open standards body to ensure that it remains an
    open industry standard in which any company and organization can participate.Are name="others" title="others"> other participants invited to join
    the initiative?

    Once the specification reaches a stage when it can be reasonably submitted to a
    standards body, such as W3C, OASIS, or IETF, the XAML Group will submit the XAML
    specification. Any interested company is encouraged to participate in the
    evolution of XAML via the standards organization selected. When will name="public" title="public"> the work of XAML be made available
    to the public?

    The target date for submission to a standards body is Jan 15, 2001. When
    is initial spec to be completed?



    The XAML Group has targeted Jan. 15, 2001 for the initial draft of the
    specification to be completed.
    How does
    XAML relate to other Web Service standards? title="otherstandards">
    In order to understand how XAML
    relates to many of the existing standards, it is first necessary to understand
    what function each of these standards performs.When a web service is built,
    described, discovered and used, there are many elements that will be required.
    The combination of these many different elements is called a web services
    architecture. Some categories of these elements are: registries, business
    process ing, negotiation, service description and web service transport
    protocols.

    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:


    1. 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 ing. 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 ing 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 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
    . Some additional s 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 , 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” is initiated.

    This 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.



    How does XAML relate to registries (UDDI)?
    UDDI defines a registry for companies and their services. In a typical
    scenario using UDDI, a user/program would browse through categories (like in a
    yellow pages) for a particular service. Once the desired XML service is found,
    the ’service description’ for that service can be used to retrieve the details
    of calling that service (see service description languages section.) The
    ‘service description’ (WSDL, etc), defines the semantics of calling a specific
    service.

    As with any other
    type of service, XAML services will be able to be registered and located within
    UDDI registries. UDDI can register XAML services.


    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.


    How
    does XAML relate to business process ing languages (ebXML business process,
    BPML)?
    size="2">
    BPML covers dimensions of business process ing 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.


    How does XAML relate to

    XML-based web service transport protocols face="Verdana, Arial, Helvetica, sans-serif" size="2"> (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.


    How does XAML relate to ebXML?
    ebXML is an OASIS/UN initiative to define all the layers in the web
    services stack. That includes categories such as registries, business process
    ing, service descriptions, and transport/packaging/messaging. Please refer
    to the onclick="javascript:urchinTracker ('/outgoing/xml.coverpages.org/xamlFAQ20001025.html#otherstandards');">
    above explanation
    for details on how XAML relates to each of these
    categories.


    How does XAML relate to e-speak?
    E-speak is an open software platform designed for supporting the
    description, registration, and discovery of e-services, the ability to compose
    multiple e-services into higher-level e-services, the ability to negotiate among
    e-services, and the ability to manage e-service interactions. XAML will enhance
    the e-speak platform for the coordination and processing of online business
    transactions involving e-services. XAML provides e-speak with a standard set of
    XML message formats and interaction s for e-services to use to provide
    business level transactions that span across companies over the Internet. name="biztalk" title="biztalk">How does XAML relate to
    BizTalk/.NET?
    BizTalk/.Net is a Microsoft initiative to define all the layers in the
    web services stack. That includes four categories, registries(UDDI), business
    ing languages (X-Lang), service descriptions (WSDL), and
    transport/packaging/messaging(SOAP). Please refer to the
    onclick="javascript:urchinTracker ('/outgoing/xml.coverpages.org/xamlFAQ20001025.html#otherstandards');">
    above explanation
    for details on how XAML relates to each of these
    categories.What standards body will XAML be submitted to? name="standardsbodies" title="standardsbodies">
    At this time, the XAML group has not determined which standards body is the most
    appropriate for XAML. However, as the specification evolves, the group will vote
    on an appropriate organization and submit a draft of the specification.
    face="verdana,helvetica,arial" size="2">How does name="tpmonitors" title="tpmonitors"> XAML support/extend
    existing transaction monitors?


    XAML will enable web services to expose transactional semantics of the resources
    providing the services. Given that TP monitors commonly provide some of the
    management and coordination functions of these resources ‘behind the firewall”
    today, one of the goals of XAML is to enable TP monitors to participate and
    support the transactional semantics offered by web services. This includes
    passing of transaction ID’s through web service messages, and supporting the
    XAML web service operations of commit and cancel.
    At the level above individual web
    services, there is a new layer of software providing business-level
    transactions. This software makes calls to multiple web services, often spanning
    business boundaries. Given that XAML enables individual web services to support
    transactional semantics, there is also an opportunity for XAML to specify
    standard means for coordinating business-level transactions across collections
    of web services.
    To this
    end, one of the goals of XAML is to define message interfaces and interaction
    s that help software systems providing the business-level transactions to
    coordinate the interactions among web services. There is an opportunity to
    define XML interfaces and interaction s for a new breed of web services
    that would help software systems at the business transaction level. These
    services would provide brokering capabilities for managing the interactions
    among web services, for both web services supporting XAML, as well as web
    services that do not support XAML. This new breed of web services requires XML
    interfaces and interaction s that defines how software systems at the
    business transaction level would interact, to request assistance in shepharding
    a set of web services towards completion.
    face="Verdana, Arial, Helvetica, sans-serif" size="2"> face="verdana,helvetica,arial" size="2">What is the relationship name="transprotocols" title="transprotocols"> 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.

    What is the relationship
    between XAML and JTS/JTA?


    J2EE includes support for distributed transactions through two specifications,
    Java Transaction API (JTA) and Java Transaction Service (JTS). JTA is a high
    level, implementation independent, protocol independent API that allows
    applications to access transactions. JTS specifies the implementation of a
    Transaction Manager which supports JTA and implements the Java mapping of the
    OMG Object Transaction Service (OTS) 1.1 specification using the IIOP protocol.
    The JTA API allows you to demarcate transactions in a manner that is independent
    of the transaction manager service or JTS.

    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. face="Verdana, Arial, Helvetica, sans-serif">
    Given this, a
    web service internally implementing JTA could expose these transactional
    capabilities using XAML.


  10. What is XAML?

    (Extensible Application Markup Language; pronounced “zammel”)

    XAML is a declarative XML-based language that defines objects and their
    properties in XML. XAML syntax focuses upon defining the UI (user interface) for
    the Windows Presentation Foundation (WPF) and is therefore separate from the
    application code behind it.

    Although XAML is presently for use on the Windows platform, the WPF/E (Windows
    Presentation Foundation/Everywhere) initiative will eventually bring XAML to
    other platforms and devices.

    XAML syntax describes objects, properties and their relationships to one
    another. Generic XAML syntax defines the relationship between objects and
    children. Properties can be set as attributes or by using ‘period notation’ to
    specify the object as a property of its parent.

  11. Why Use XAML?

    • XAML allows the programmer to separate the user interface (UI) definition from
      the underlying business logic.
    • XAML, since it is parsed, offers the possibility that a single UI definition can
      be used on different platforms
    • XAML allows the user to edit the presentation layer (not necessarily directly,
      but with a simple tool) without requiring the usual development tools or
      programming knowledge

    How Is XAML Used?

    XAML is used for
    both web-based and client-based applications. Within those two segments, there
    are three camps regarding the usage of XAML:

    • Declaratively programming 2D and 3D vector graphics (VG)
    • Declaratively programming traditional (meaning no VG) UI’s and their controls
      (or widgets)
    • As a general declarative programming language for UI and non-UI constructs