Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Can anyone advise as to whether or not AEM is a viable platform for my current architecture/intent?

Avatar

Level 1

I have read everything I could find regarding AEM (architecture, install. dispatcher config, etc), by design and or happenstance there is really not a lot of info regarding leveraging AEM as a solution (IMHO), so if anyone can educate me as to their experience and what the seat/licensing architecture would be as an example I would be grateful.

 

Our hosting environment is set up as follows:
 
·         2 Tier architecture – 1 staging server syncs content to a load balanced server array.
·         Linux / Apache / PHP (MySQL not installed)
·         Web sites are in a simple shared hosting environment with each site is in its own distinct virtual host directory
·         No CMS, no database currently available to either staging server or web servers.
·         Customers access staging server and manage each site using desktop HTML editing software.
 
Ideally, we would like to enhance the virtual hosting experience with a browser-based content management tool as a service using Adobe AEM. For example:
 
·         Adobe AEM installed on staging server.
·         Individual websites sites configured as “sections” within AEM with unique templates for each.
·         User groups restricted to their respective sections.
·         Sections configured to publish to respective virtual hosting directory htdocs folders
·         Published changes on the staging server are then automatically synced to production as they are currently.

1 Accepted Solution

Avatar

Correct answer by
Level 8

I would say that your proposed architecture is not AEM's sweet spot. The model you are describing is what is known the "bake model" or publishing. There is tool in AEM named the Static Publishing agent which is designed to support the architecture you have described, however it is not a commonly used option. One thing to consider is that by adopting this architecture you eliminate many of the capabilities of the  tool which are dependent on having an publish server (think application server) available at runtime to the web site. The vast majority of  folks who select AEM do so to take full advantage of the capabilities of the which is harder to do in a bake model. 

You can take a look at http://www.wemblog.com/2012/02/how-to-use-static-agent-in-cq-wem.html which describes using the static replication agent. Keep in mind that I wouldn't call this a standard deployment option, so much of the documentation and best practices on architecture and development will not apply. A more typical deployment scenario would be:

  • AEM Authoring in place of staging server
  • Individual websites sites configured as “sections” within AEM with unique templates for each.
  • User groups restricted to their respective sections.
  • Dispatcher installed on your Apache instance, with each virtual host configured with a dispatcher farm that points that the site's htdocs folder as cache root
  • Changes previewed in author, activated to publish on demand, and dispatcher cache flushed by the activation. 

View solution in original post

5 Replies

Avatar

Employee Advisor

Hi,

From what I see, you want to use AEM as web-based editor to create websites. Which is an important aspect of a WCMS. I see some problems in your approach:

  • You have to install AEM on all instances (authoring and publishing/frontend)
  • AEM does not use staging environments to prepare content, it's all created, managed and approved on the production authoring system.
  • Who's going to develop the templates and components? Each website on their own? What about backend java code (aka bundles)?

Regarding the pricing I recommend to get in touch with Adobe sales.

kind regards,
Jörg

Avatar

Correct answer by
Level 8

I would say that your proposed architecture is not AEM's sweet spot. The model you are describing is what is known the "bake model" or publishing. There is tool in AEM named the Static Publishing agent which is designed to support the architecture you have described, however it is not a commonly used option. One thing to consider is that by adopting this architecture you eliminate many of the capabilities of the  tool which are dependent on having an publish server (think application server) available at runtime to the web site. The vast majority of  folks who select AEM do so to take full advantage of the capabilities of the which is harder to do in a bake model. 

You can take a look at http://www.wemblog.com/2012/02/how-to-use-static-agent-in-cq-wem.html which describes using the static replication agent. Keep in mind that I wouldn't call this a standard deployment option, so much of the documentation and best practices on architecture and development will not apply. A more typical deployment scenario would be:

  • AEM Authoring in place of staging server
  • Individual websites sites configured as “sections” within AEM with unique templates for each.
  • User groups restricted to their respective sections.
  • Dispatcher installed on your Apache instance, with each virtual host configured with a dispatcher farm that points that the site's htdocs folder as cache root
  • Changes previewed in author, activated to publish on demand, and dispatcher cache flushed by the activation. 

Avatar

Level 1

Thank you for your time and the reply. I have done just that (contacted sales).

Regarding your question:

    Q: Who's going to develop the templates and components? Each website on their own? What about backend java code (aka bundles)?

    A: Regarding the development "templates and components" we planned on developing a suite of templates and components from which a user could select and minimally         modify from, in a self-serv fashion; individually. As to the "Java" I am endeavoring educate myself as to the limitations and technical hurdles implementing a system like AEM     or     plan B a customized Drupal set up.

If by chance anyone has else has implemented AEM in a fashion or configuration I would truly appreciate your opinion and experience.

Avatar

Level 1

Thank you and the rest of those that provided any input I truly appreciate it. I have a lot to look into.

 

Have a great day.

Avatar

Level 10

With Java and AEM - you can create AEM custom services very much like you can when using other Java frameworks like Spring.

You can use annotations to define services. If you are familiar with Spring - you must know the @autowire annotation. In AEM - you use a similar annotation:

@Reference 

to inject a service into another AEM service -- aka dependency injection.

We have many community articles that will teach you how to get up and running with writing custom AEM OSGi services/dependency injection:

  1. https://helpx.adobe.com/experience-manager/using/first-osgi.html
  2. https://helpx.adobe.com/experience-manager/using/querying-experience-manager-data-using1.html
  3. https://helpx.adobe.com/experience-manager/using/custom-sling-servlets1.html
  4. https://helpx.adobe.com/experience-manager/using/creating-cxf-bundles-consume-web.html
  5. https://helpx.adobe.com/experience-manager/using/datasourcepool.html

just to list a few.