Elliot Gage wrote: > Chris, > > Thanks for the reply. I am actually referring to having separate web > applications that can cooperate with or be consumed by other web > applications.
One sort of architecture that provides something like this often has at its root a set of "web services" that have no UI (or a very minimal UI). Those web services are consumed by some end-user-facing application process, the "front end", which users interact with directly; it has a lot of UI. The front end application communicates with the "back end" applications over HTTP, and consumes the services they offer, and basically translates those services that have no UI to a user interface that a normal person can use. Such an architecture can be created by using any framework (even a combination of disparate frameworks written in wildly differing languages). This is one of its strengths. BFG offers facilities here such as json rendering and "view predicates" which can make the job of writing a "web service" a little easier, but in general, any framework will do in such an architecture. Personally, I am not really a fan of this type of architecture (see http://www.plope.com/Members/chrism/service_process_fascination) but apparently lots of folks have had success with it. Anyway, I hope this helps. > I'll crawl through the documentation more thoroughly, thanks! > > -----Original Message----- > From: repoze-dev-boun...@lists.repoze.org > [mailto:repoze-dev-boun...@lists.repoze.org] On Behalf Of Chris McDonough > Sent: Monday, January 04, 2010 12:04 PM > To: Elliot Gage > Cc: firstname.lastname@example.org > Subject: Re: [Repoze-dev] new to bfg > > Hi, Elliot, > > Elliot Gage wrote: >> Good morning, >> >> >> >> I've been looking at bfg for some time. I am primarily a dotnet >> developer and have a few web projects I am looking at migrating over to >> a python framework. >> >> I am aware of a few frameworks already out there including django, >> turbogears(2) and pylons. I really like the approach taken particularly >> by pylons and now bfg. > > Great, hopefully we can help. > >> I have seen reference to reusing applications within other applications >> as long as some rules are followed. For example, my apps will need a web >> based file manager. Is it possible to create something like this that >> can be used from within other bfg applications? Another example might be >> an authentication and authorization framework (including edit screens >> for users and permissions etc) that would be used by other apps I will >> be building. > > I think the reference you're talking about is here: > > <http://docs.repoze.org/bfg/1.2/narr/extending.html#extending-an-existing-re > poze-bfg-application> > > This reference isn't specifically talking about creating an "application" to > be > used within another "application"; instead it's referring to writing an > application in such a way that other people can modify and extend it without > > changing its source code. The reference is aimed at a person who wants to > develop an application in such a way that an arbitrary consumer can download > it > and change or extend it ("personalize" it) without needing to maintain a > fork > of the code. In other words, people who want to develop a framework or an > extensible application. > > I think you may be overloading the word "application" in your description. > Maybe what you really mean is that you want to develop reusable "components" > > that can be used within separate applications? The component is not itself > an > application, it can just be used by one? > > Or maybe you really do mean "application" and you want to compose a system > out > of many cooperating processes, each representing a different application, > but > appearing to the user as if it's one seamless web site? > > Either thing is possible, but you may need to clarify. > > - C > _______________________________________________ > Repoze-dev mailing list > Repozeemail@example.com > http://lists.repoze.org/listinfo/repoze-dev > > _______________________________________________ > Repoze-dev mailing list > Repozefirstname.lastname@example.org > http://lists.repoze.org/listinfo/repoze-dev > _______________________________________________ Repoze-dev mailing list Repozeemail@example.com http://lists.repoze.org/listinfo/repoze-dev