A introduction to Maven based development and lifecycle management for Alfresco architectures, based on the real life case study, NXP, ex Philips semi-conductors, which switched his complete ECM landscape to an open stack.
17. The power of open source http://www.mindthegab.com
18.
19.
20.
Notas del editor
10/21/08 21/10/08
10/21/08 So, I guess a bit of background is necessary as I’m pretty new here ;) My name’s Gabriele Columbro, and I’ve been working for more than 3 years for Sourcesense (IT-NL) on big Alfresco implementations, ranging from Big semiconductors companies like NXP (case study) to e-Government projects like GovUnited.
10/21/08 500+ paying support customers in less than 3 years and growing. By way of comparison it took Filenet over 12 years to achieve the same number!
10/21/08 Customizations range to easy model/taxonomy, to new custom workflows/actions/UI configurations, to new feature development. Typical enterprise version customization are integration with proprietary/legacy systems.
10/21/08 Extension is your war container (alfresco.war) in which multiple AMPs gets deployed into. One AMP Typical side effect is: web.xml overwriting due to multiple customizations
10/21/08 What’s application
10/21/08 Basic content services and CIFS, as well as check/in/out, versioning and document metadata support Advanced content manag e ment so workflows, custom business processes support, more specific custom developments.Also publishing and later web content management seemed to be in the scope of Alfresco. More in general what it’s important to underline is that this is the typical ECM landscape of a modern large company which business processes are fully dependent on IT services and ECM technologies (and lately on concepts like knowledge workers social collaboration). This is the reason for such complex and highly integrated architectures, and often enterprises are not yet ready to embrace/implement such complex architecture due to lack of basic Application Lifecycle management.
10/21/08 The situation was exactly growing as in the early Lotus notes times, W ith application redundancy in both different geographic locations or different departments for the same functionality. Reproducibility is definitely the first important feature of an highly complex architecture, as manual composition / integration of our application is simply not possible. Testing and release (meaning clear versioning and distribution) are also mandatory when such a high number of customizations have to coexist and avoid side effects o n other bits of functionality. A dependency is not only a technical concept. I t’s much more: in an organization a dependency between two projects is actually identifying a prioritization and serialization Separate Business processes, separate business cases and separate owners. lifecycle management? It’s the bridge between software engineering and business processes, as it clarify communication to the business by the means of a clearly defined application lifecycle and standard procedures around it.
10/21/08 Define processes means writing huge but digestable procedural document, but that’s the price we have to pay to have a clear business understanding of concepts like ECM and ALM. So for ECM it means a common model and taxonomy, which can be arbitrarily complex. For this we defines clear ALM processes based on maven to have standardization of project creation, development, release and deployment.
10/21/08 Conceptual scheme of the integration @NXP. You can see as Custom business applications so separate business processes are developed as separate AMPs, that in the end get deployed on top of an alfresco repository Extension project (the ECM Foundation). Multiple applications and libraries (AMPs) are deployed into the repository extension. As Having a commons AMP package is
10/21/08 Being a standard raises the possibility of enter major open source communities (especially for integrators). AMPS are non standard j2ee artifact so we developed and contributed A custom Maven plug-in capable of building AMPs and have a WAR dewas contributed
10/21/08 My expertise is that Archetyping or prototyping reduces drastically the Time to market of an application both in a complex enterprise environment, b ut also and especially to speed up the prototyping and reuse of achievements for system integrators
10/21/08 I don’t ask you to go into the details of this , but the interesting bits are from an organization POV, despite all rectangles represents different project locations and so separete business projects, by the means of dependency, inheritance and agggregation Project inheritance, used can centralize key common enterprise project features Project aggregation, to be able to manage multiple project at once We are also 100% open source ready as the AMP produced b
10/21/08 -Team or community is under control and have to motivate why being out of standard (push rather than QA based pull) Scales pretty fine Alfresco 3.0 – > 3.1 took no more than 3 days and they are pretty different products - J i be Rationale: H aving a strong lifecycle management foundation (alongside with your ECM processes) allows to cope with complexity and easily adds new features. This means longevity for your architecture either if your are an enterprise architect or an integrator solution engineer.
10/21/08 As I said Maven allows you to abstract
10/21/08 As I said Maven allows you to abstract
10/21/08 As I said Maven allows you to abstract
10/21/08
10/21/08 As mentioned in previous slide, Alfresco retains the control over the software versions and can therefore commit to levels of service for support. Add to this, UK support are in close physical proximity to Software Engineering which enables effective exchange of knowledge. The SLA’s are annual agreements and their price calculation is based on the project size / system architecture for the business solution.