Archive

Posts Tagged ‘service oriented architecture’

Creating a custom WCF service in SharePoint Server 2010

October 11, 2012 Leave a comment

Developing a WCF in SharePoint 2007 was not easy Job. and for now in SharePoint Server 2010 ASP.NET web services are obsolete . in SharePoint 2010, the recommended approach is developing WCF. Creating Custom WCF and hosting it in SharePoint 2010 isn’t difficult task where we can achieve that through multiple approaches like using an open source Visual Studio 2010 extension know as Community Kit for SharePoint: Development Tools Edition which makes developing Custom WCF more easily or Creating Empty SharePoint Project , then Map to ISAP folder then add WCF files ( Interface , Classes, Configuration Files) to it.

Here i going to use Community Kit for SharePoint . The Community Kit for SharePoint: Development Tools Edition extends the Visual Studio 2010 SharePoint project system with advanced templates and tools.

Create WCF Service

1- create a new empty SharePoint Project.

2- Select Deploy as farm solution.

3- Add new Item, Right Click on Project Name , then Select WCFService (CKSDEV).

Services Type

There are 3 different type of service

1- SOAP Service.

2- REST Service

3- ADO.NET Data Service

if you want to change the service type,please modify the factory in .SVC

SOAP Service Factory : MultipleBaseAddressBasicHttpBindingServiceHostFactory

REST Service Factory: MultipleBaseAddressWebServiceHostFactory

ADO.NET Service Factory : MultipleBaseAddressDataServiceHostFactory

Browsing Custom WCF Service

After Service deploy, you need to use the service in another projects. First try to access the service in browser. But remember you need to access the MEX endpoint either you will not get the service accessible in browser. To access the MEX endpoint, you should add “/MEX” at the end of the service name as shown below:

Architectural Patterns and Styles

September 7, 2012 Leave a comment

Architectural Patterns and Styles

Architectural Styles and Patterns are set of principles that shape the application. These styles describe different aspects of applications. For example, some architectural style describe deployment pattern, some describe communication , some describe structural and design issues .therefore, typical applications use a combination of more than one style.

The following table lists the major areas of focus and the corresponding architectural styles

Category Architectural Styles
Communication Service Oriented Architecture (SOA ) – Message Bus
Deployment Client/Server, N-Tier , 3-Tier
Domain Domain Driven Design
Structure Object-Oriented , Layered Architecture , Component – Based

The following table list architectural styles and brief description about of each style

Architecture style Description
Client\Server Segregates the system into 2 applications ,where the clients make requests to the server
Component-Based Architecture Decomposes the application into multiple logical components that expose a well- defined communication interfaces
Domain Driven Design An object-oriented architectural style focused on modeling a business domain and defining business objects based on entities within the business domain.
Layered Architecture Partitions the concerns of the application into stacked layers
Message Bus An architecture style that prescribes use of a software system that can receive and send messages using one or more communication channels, so that applications can interact without needing to know specific details about each other.
N-Tier/3-Tier Segregates functionality into separate segments in much the same way as the layered style, but with each segment being a tier located on a physically separate computer.
Object-Oriented A design paradigm based on division of responsibilities for an application or system into individual reusable and self-sufficient objects, each containing the data and the behavior relevant to the object.
Service-Oriented Architecture( SOA) Refers to applications that expose and consume functionality as a service using contracts and messages.