Matteo Pelucco from Tinext explains the systems integration of SAP for AIL, a Swiss utility company, showing the benefits of Magnolia's Open Suite approach. Learn how Magnolia can be the central framework for your integration projects and why some Magnolia integration patterns should be your best development friends.
4. 1995
45+
650+
2 mio 800+
2
2
3000+ 24x7
x365
Our first web project
Employees
Hosted websites
web pages clients
We are in Switzerland
and Italy
Datacenters
Managed mailboxes
Guaranteed
assistance
Physical servers
Realized projects
160+
1500+
Facts and figures
4
5. About Tinext
Tinext combines the latest digital marketing expertise together with the
deep technical understanding of a seasoned enterprise systems integrator.
The end results are solid enterprise web solutions that transform our
clients’ businesses.
Since 2001, our teams have conceived, delivered, deployed and maintained more than 500
successful projects, with clients including Al Arabiya News Channel, Royal Caribbean
International, Whirlpool Europe, City of Lausanne, Generali Group and Swiss national
broadcasters RSI.
With a comprehensive range of digital services delivered through our three core practices,
Tinext can deliver complete projects or flexible services working in combination with other
providers.
5
8. Aziende Industriali di Lugano (AIL)
8
Company
Public Utility company
Produces electricity & water. Imports gas.
Retails electricity, gas & water in Ticino.
Project
CMS Replacement: Magnolia
100k potential users
23 business processes to build
Sensitive data
10. 25 Business Processes to model
..and many more..
Each of them interacts with SAP in a
different way (few common patterns)
Standard form builder was not
enough!
14. Form builder reloaded
Standard Form Builder has been extended, several
new features has been introduced:
• SAP-aware validators
• Multistep navigation bar
• Step Validators
• Scriptable default values for input (eval)
• Final summary step
• Dynamic mail processors
• Everything responsive!
22. Legacy SAP integration
Do you remember? We are moving an existing
(live!) project, already on SAP.
Legacy SOAP-based SAP integration layer
Refactoring not in project scope!
No documentation
Only WSDL
23. jUnit as reverse engineering tool
Tests to reverse engineer SOAP layer
Java WS client: built with jax-ws, filled with
jUnit test cases.
Magnolia 5 IoC allowed our team to mock all
the remote functionalities, without blocking
front-end developers.
SAP URLs in magnolia.properties file
No risk of accessing the wrong SAP
environment.
24. jUnit as reverse engineering tool
Each jUnit test decomposed in FormProcessor
and/or FormStepValidator
Quick debugging: just change few properties
and launch the test
25. jUnit as reverse engineering tool
AbstractTest.java
LoginTest.java
ChangeUsernameTest.java
SendMeterReadingsTest.java
…
Flow simulation,
real SAP calls,
asserts,
utilities tuning,
…
Common methods / utilities
Prepares a «logged» context,
@before method
27. Legacy Alfresco DMS
Customer communications were stored in
Alfresco (v. 2.x!)
SAP ask Alfresco to generate PDF, and to
serve them to customers
Need to hide real Alfresco URLs..
28. Alfresco API
Used standard Alfresco API to download
documents
A dedicated Magnolia
«DocumentDownloadServlet»
transparently proxies the document download
request for a logged user, applying a security
layer on top of it.
32. Page renderer
Page protection (for each page)
Security layer exposed to freemarker
conditional presentation layer statements
user interface personalization
Agile: easy to test and debug
[#if …] normal flow [#else] exception [/#if]
36. Conclusions
Magnolia «open suite approach» easily allows to «plug» your
integration activity
• So many «injection points»
• Reliable: integration patterns
Form Builder is very powerful and customizable
Mock activity is foundamental in projects like this.
Magnolia IoC helps the project lifecycle and team work
User data security always on top of feature set
37. Future Improvements
Simplify Form building activity
Now it is for superusers
Too many Magnolia green bars, even for short forms
SAP represents a single point of failure
Expose SAP data to a «look-aside» repository, periodically refreshed. This will allow also horizontal
scaling..
Heavy usage of Http Session
No cache
Provide a way to communicate between a form step and another
No single-page app
Form builder should be exposed also to JS frameworks (Backbone, Angular..) for a better user
experience and performance.
38. 38
SVN Sync (app)
Allows automatic synchronization of a SVN repository to
Magnolia webapp (filesystem)
Bootstrap tasks
Clone Magnolia standard security, create pages, utilities
Java Utils
HTTP helpers, Calendar, Captcha, Text, Collections,
Magnolia, ..
Freemarker Utils
Calendar, Text, Magnolia, STK shortcuts, …
Page Builder API
Allow to create pages simulating user interactions
Captcha
Integration with Tinext Captcha System
NECTAR: A NEW TINEXT MODULE