Thursday, January 23, 2025

Opensource Panacea..

Opensource has been there for long. All literature is predominantly opensource and tends to become opensource at infinite time.

In network programming too, all innovations started as RFCs. This created a scenario where no-one person owns the intellectual property, created likewise. 



Over time we have seen, how this community or academic institution created assets have been bent and twisted to derive commercial value, out of open community assets.

I am not trying to denigrade the use or innovations over opensource technologies. Many times commercial version of opensource do have a purpose and add to the value of opensource. This is true. The price tag for opensource based commercial technologies is also not high.

The trend to use opensource but not contribute or support commercial options is becoming the real issue in opensource.



My teacher used to call this "karma purpose" or whimsical in common terms.

Adding more and more opensource without a clear objective of supporting them adds to collosal technical debt for the individual, private enterprise and industry.

Nothing comes for free, ever!!




Monday, March 7, 2022

AEM Headless - Adoption

 AEM Headless options have been around from 2017... But adoption is slower as baring few vertical segments (Retail and Media) the need for headless architectures for content were not visible. 

But post pandemic, the need for quirky solutions to reach to the customer are becoming evident everywhere.

The retail explosion is visible in digital world. I look around and I buy most daily stuff digitally.

Media consumption has already moved even before the pandemic.

But, will this new set of restrictions place more stress on other vertical segments to reach to the customers more  obviously in digital media? 

I think, a big YES!! (Education, Insurance, Manufacturing etc)

The leader in the content segment has capabilities needed for this but has not closed on all future needs and expectations..

I think its still trailing with cloud commerce engines for the right reasons.. Its too early to decide how the traditional verticals will jump into full scale digital. For e.g., how long will text survive and how soon will voice and VR take over in these verticals..

Big Investments need Big Decisions..

New scripting strategy with GraalVM (New oracle jvm competing with traditional JDK base)

The new strategy to diverge from non java scripting languages is a marquee change in jvm strategy after a decade. Though graalvm would support its own version of ecmascript (standards based js), enterprise adoption would become difficult for this.. 

How soon can prime enterprise customers adopt the new jdk strategy vs moving to open jdk (also supports ecmascript) base or graalvm for retaining the developer comfort and architectural flexibilty (programming language specific) is a million dollar question...

How long will JDK remain free starting JDK 17? Will it take over / compete with the node js and other micro service frameworks in the new cloud native world?

Too early to answer, I think..

Wednesday, April 20, 2016

AEM 6 point 2 and user perspectives..

Template editor, fluid content and smart tags are long expected features in marketplace. I have myself told or escaped from clients that these are in adobe roadmap and better not build from scratch in many past projects..
The Apps and forms capability will  be true killer functionalities if there are many default capabilities unlike earlier versions..

Sunday, January 18, 2015

Is AEM 6 another intermediate release?

Adobe experience manager 6 seems to be another partial release of what's trumpeted for a long time. Many of the pending items remain as-is. Add-ons from earlier releases are not yet migrated. The kernel looks and behaves different but is not the much expected rewrite.
Most java kernels take time to settle down in terms of stability (1-2 years). Any postponement of a complete rewrite of the kernel for an Enterprise DAM will affect product maturity and adoption rate.
Market potential and penetration is still very high considering that none of the competitors have a vision or a framework comparable to this.
Its a long pending wish of the developer community to see some disruptive changes in the upgrade cycle..
http://docs.adobe.com/docs/en/aem/6-0.html

a concise article..
http://cq-ops.tumblr.com/post/86504895994/whats-new-in-aem-6-0

Note: The views expressed here are Author's personal views on product/tool  capabilities and are to be considered as neutral from any commercial standpoint. The reader is advised to consider this for informational purposes without assigning any commercial value to it.

Tuesday, March 26, 2013

Adobe CQ and Digital Eco System - Deep Dive



Introduction
             This article is written as an analysis note/ whitepaper on Adobe tool capabilities in Digital Marketing landscape.

Opportunity
Ø  Unified Eco system orchestrated among most Adobe Digital marketing tools and cloud solutions
Ø  Adobe is building newer set of components suited to Digital Marketing for B2C ( i.e. granite) as most of the default and demo components are just scratching the surface for enterprise needs
Ø  By far the best UI component model in Java as its modular ( learning's from eclipse components) and standards based ( JCR and OSGI )

Challenges
v Many tools are not generic or time tested in terms of implementation volumes
v Understanding of scenarios and standardization ( from the domain and sub-domains) is needed for identifying and building the right set of components for the enterprise
v Building re-usable, extensible UI components needs expertise

Impact for Industry
Ø     Shorter cycles for Digital marketing roll-outs targeting niche trends/events in the market.
Ø    Clients and Vendors with a base and advanced set of components will have an edge over other product and enterprise teams.
Ø     As long as the components stick to JCR and OSGI standards, inter-operability against other JCR based vendors is guaranteed. This will serve the long term interest of avoiding vendor lock-in in larger engagements.

Standards Based Content Management Roadmap

Oracle View

“The Content Repository API for Java Technology (JCR) is poised to revolutionize the development of Java EE applications in the same way that the Web has revolutionized the development of network-based applications. JCR’s interface designers have followed the guiding principles of the Web to simplify the interactions between an application and its content repository, thus replacing many application-specific or storage-specific interfaces with a single, generic API for content repository manipulation. “

IBM View

“Most importantly, JSR-170 (Content Repository) has strong support from industry leaders, including SAP AG, Macromedia, and IBM, establishing its use and importance in the enterprise landscape. Just as object-relationship mapping frameworks transformed database programming, the JCR API has the potential to dramatically change the way we think about and develop content applications”

Adobe View

“CRX natively manages all content as defined in the Content Repository for Java Technology API Version 2.0 specification - also known as JCR 2.0. This programming interface - defined by the ECM industry - provides developers with a stable and well-defined, yet extensible content and query model that protects past and future investments.”
  
Adobe CQ - Whats in it?

Caching

•       Predominantly static page – e.g. Marketing Information which is authored. This is cached at the dispatcher level and any updates are pushed to the webserver on a need basis by the publish
•       Static set of variations in dynamism – e.g. a different type of menu system for various device groups namely tablets, features and touch phones. There is a querying parameter for the url but it’s a closed set which can be cached with the parameters. The dispatcher and publish has a protocol on which page is cached and how many variations. i.e if the selectors defined for the page and template are the only differences in the multiple URLs, dispatcher can cache these as individual files and serve them with the help of sling url resolution methodology.
•       Dynamic Business Logic - Predominantly dynamic but there are author-able configurations which change rarely (2 days to 6 months range).     For e.g. Login/Registration, Marketing widgets, Social feeds (periodic). In these cases a CQ component handles static configurations and brokerages with a service (J2EE or other) to serve the request. There might be internal caching strategies built at the service level also (Facebook feed updated every 15 min).
•       OLTP Modules - Explicit dynamic use cases which would place enormous processing load on the publish server are better run out of an application server or commerce server. This again depends on multitude of factors but for most B2C/corporate implementations where performance and scalability is a critical factor above rule applies de-facto.    For e.g. shopping cart, complex search widgets etc
•       Others -
§     Permission-sensitive caching enables you to cache secured pages. Dispatcher checks users' access permissions for a page before delivering the cached page. This is a rare usage today as CQ is sparingly used in B2B space. For e.g. in a B2B portal the entitlements of a user or a group is maintained (dispatcher is user aware) but individual pages are also cached for performance
§     Adobe is building/improving capabilities like Page personalization, Forms, Rules engine, shopping cart etc. Hence, in future versions, CQ might have application server capabilities with a robust servlet engine complemented by a layered caching strategy already in place. This makes the case strong for fronting Adobe CQ as a UI delivery engine and delegate specific advanced features to other systems in the interim.

Performance and Scalability
  • Adobe suggests 90% caching of web pages whereas in real world most applications are only 60-70% cached. This is because most re-engineered applications are from other OLTP technology stacks (.NET and J2EE)
  • By practice, it’s perceived that Adobe’s infrastructure sizing guidelines are 50% short when caching is 60-70% particularly during email campaigns.
  • Clustered Authors has never been a practical solution unless the authors are atomic in terms of functional composition. May be we might need a global author for common content too. The content orchestration / federation has to be planned and governed for this to work. Simply put, it’s not advisable to suggest clustered author as of today unless there is a clear use-case
  • Repository sizes of more than a TB needs Adobe’s ratification as of today from a practical standpoint  
  • It is suggested to have twice the repository size as a disk free space for emergency backups. Adobe repository uses file system for storage and works like a large file system or SVN. Cold backups are the safest in this context.
  • TAR-PM services (similar to versioning/rollback services) are not effective and they need large maintenance periods for large repositories. 
  • Governance for content cleanup is a core issue for large repositories.
  • CDN like Akamai is critical for campaigns
  • Brainstorming cache-able use cases vs. others is critical for Project/Program Success
  • Size of images, JavaScript is crucial for Tablets and Mobile
  • Responsive design if chosen should be designed effectively as it might affect performance in the Mobile world
  • User Specific sessions are not to be used unless its B2B/Intranet portals. Also, usage of CQ in B2B/Intranet is sparse
Security
  • Author vs Publish mode is not out-of-box. This configuration is not fool-proof and needs meticulous planning and execution.
  • Lots of security loop-holes in workflow management found in earlier versions. These have been closed in 5.5 but sufficient care must be taken in security architecture.
  • Un-Moderated workflows for User generated content are not advised. 
  • Session to be managed using customized encrypted session token over SSL
  • Author is still a single point of failure in most topologies and hence should not be exposed without a VPN tunnel.
  • Tripod firewall is not enough. DMZ between 2 independent firewalls is suited to host the webservers or another secure reverse proxy
  • REST web services have become the order of the day. But the security considerations have to be brainstormed. For B2B usage within the same Hub (firewall), this is acceptable. In all other scenarios, the industry standard infrastructure security guidelines and legal compliance steps for partnerships should be enforced strongly. 
Conclusion

Adobe’s Digital Eco system is in its take-off stage.  A careful analysis of needs and strengths would help organizations to choose products and partner with right set of cloud vendors in this tricky landscape.

Note: The views expressed here are Author's personal views on product/tool  capabilities and are to be considered as neutral from any commercial standpoint. The reader is advised to consider this for informational purposes without assigning any commercial value to it.



Tuesday, May 25, 2010

Its here already

Please visit the following link if you are an active Java supporter or used to be!!!
http://terrencebarr.wordpress.com/2010/02/01/oraclesun-java-news-round-up-part-1/

Much or less talked about even in the Sun Tech Days event this year is the need for creation of space in jvm library set for dynamic languages/constructs support mainly javascript, python and ruby. Even some unused libraries from core java io/lang/util to be cleaned up for this purpose. As usual none of this is certain but pointers from oracle about where Java is moving towards.

Something I would like to look at would be the image based capability from smalltalk which is such a developer comfort. I would like to write in line and length about it sometime.