What is a SharePoint site definition?
SharePoint sites consist of numerous Web pages, just like an ASP.NET 2.0 application.
When a site is created, these pages are created as instances in the content database.
The instances refer to the actual file on the file system.
What is CAML?
CAML stands for Collaborative Application Mark-up Language.
CAML is used to define tables in the Windows SharePoint Services database during site provisioning.
It is an XML-based language that is used in Microsoft Windows SharePoint Services to define sites and lists.
What is Service-Oriented Architecture?
SOA is an IT architecture strategy for business solution (and infrastructure solution) delivery based on the concept of service-orientation.
It is a set of components which can be invoked, and whose interface descriptions can be published and discovered.
It aims at building systems that are extendible, flexible and fit with legacy systems.
It promotes the re-use of basic components called services.
Service is the important concept. Services can be published, discovered and used in a technology neutral, standard form by the set of protocols of the web services.
Other than being just architecture, SOA is the policies, practices, and frameworks by which it is ensure the right services are provided and consumed.
It becomes critical to implement processes that ensure that there are at least two different and separate processes— one for provider and the other for consumer, using SOA.
The Business Service Bus is starting point for developers that guide them to a coherent set that has been assembled for their domain.
This is better than leaving developers to discover individual services and put them into context.
Challenges faced in SOA adoption
One of the challenges faced by SOA is managing services metadata.
Second biggest challenge is the lack of testing in SOA space.
Another challenge is providing appropriate levels of security.
Interoperability is another important aspect in the SOA implementations.
Vendor hype concerns SOA because it can create expectations that may not be fulfilled.
What is SOA governance? What are its functions?
Service-Oriented Architecture (SOA) governance is a concept used for activities related to exercising control over services in an SOA
Some key activities that are often mentioned as being part of SOA governance are:
- Managing the portfolio of services: This includes planning development of new services and updating current services.
- Managing the service life cycle: This is meant to ensure that updates of services do not disturb current services to the consumers.
- Using policies to restrict behavior: Consistency of services can be ensured by having the rules applied to all the created services.
- Monitoring performance of services: The consequences of service downtime or under performance can be severe because of service composition. Therefore action can be taken instantly when a problem occurs by monitoring service performance and availability.
Business Benefits of Service-Oriented Architecture
SOA can help businesses respond more quickly and economically to changing market conditions.
SOA can be considered an architectural evolution. It captures many of the best practices of previous software architectures.
The goal of separating users from the service implementations is promoted by SOA.
The goals like increased interoperability, increased federation and increased business & technology domain alignment can be achieved by SOA due to its architectural and design discipline.
SOA is an architectural approach for constructing complex software-intensive systems from services.
SOA realizes its business and IT benefits through utilizing an analysis and design methodology when creating services.
IT Benefits of Service-Oriented Architecture
IT benefits of SOA are:
- The ability to build composite applications is provided.
- Business services are offered across the platforms.
- A self-healing infrastructure that reduces management costs is created.
- Location independence is provided
- Provides truly real-time decision-making applications.
- Reliability is enhanced
- It is not necessary that Services be at a particular system or network
- The approach is completely loosely coupled
- Hardware acquisition costs are reduced
- At every level there’s Authentication and authorization support
- Existing development skills are leveraged
- Provides a data bridge between incompatible technologies
- The search and connectivity to other services is dynamic