Integration between Orchard and external application

Topics: General, Writing modules
May 18, 2012 at 7:03 PM


Our project requires two things:

1. Standard content management features : I want to use Orchard to provide such general functionality.

2. A mvc3 website which is standing on an external WCF service: Web service will expose city, region, hotel, price, reservation, etc  informations to our website for presenting them to users. Users will be able to book room and make payment via credit cards on website. All the informations will be stored in external application. Only some rarely changing data like city, region, etc might be stored in our side to reduce data-traffic between two systems. 

Our website <------- read-----  WCF [External Application]
Our website ---------write ----->WCF [External Application]

Based on above information i'm trying to decide which way should i follow. As far as i know, an Orchard module isn't different from regular MVC areas. I can create some Orchard modules to implement functionality but we won't have any Content or ContentPart in module. We only use web service data to present it to end user. This point makes me confusing. I don't decide how to interact between two systems without having Content?

Another solution might be creating a standalone regular MVC3 application and port it to Orchard in a way but never tried it before.

Can anybody show me the way ? 






May 18, 2012 at 7:32 PM

If the Orchard site would basically serve just as a frontend for the WCF service then you don't need to use content items. Basically you could write your own controllers, just like in regular MVC. This won't utilize the most important capabilities (flexible content management) of Orchard of course, but you could use some Orchard services like caching or simple dependency injection.

All this can be in a module. You know correctly that Orchard modules are MVC areas in the end; also, they don't require much more either. Well, you should include a Module.txt but other than that nothing is obligatory (so you don't have to implement content parts for example).