Obviously, there is no one single solution that would satisfy everyone’s needs; an architecture is always a trade-off. I want to create a framework, originally aimed at RAD of web games. Target language is PHP, although the architecture should be widely applicable.
Goals that I have in head for this framework are: flexibility in ways you can achieve the result; maximal comfort for developers; connecting modules like LEGO® blocks; many types of input, many types of output, one format for processing.
The goals that are not a priority are speed, enterprise use and making money. It’s supposed to be an open source project.
The cornerstone of this design is that all content, before transformation, is processed in XML (idea based on EAI system I’ve worked with, eGate). The data abstraction layer – hopefully some smart ORM – is not important now. The output will be generated using XSLT or any other custom modules, for virtually any client – HTML for old browsers, XHTML/HTML5 for modern browsers, simple HTML for mobile clients, XML for AJAX/XMLRPC, etc.
Main reasons for using XML are:
it’s a well-known standard
existing tools like XPath, SimpleXML and DOM for navigating and modifying the content
XSLT providing a powerful and unified way to transform the code into any tag soup
I find the XML markup very easily readable, therefore I don’t think that advantages of JSON or YAML make a difference here
The content can be stacked easily, and it the order of the content doesn’t really matter as long as it’s transformed correctly with XSLT
The page generation process would consist of these phases:
Pre-processing: initializing modules, processing GPCS data, applying default [XML] templates
Processing/generation: main part of business logic, generating the bloated XML with maximum data (although hopefully optimized not to generate balast)
Processing: some additional business logic, e.g. cutting down some of the markup, preparing for transformation, reporting, statistics, etc.
Post-processing: parsing XML through the transformation engine (most probably just XSLT), output.
The content would be generated with a lot of meta-data (e.g. tags, permissions, importance, necessity, aimed output type), which would be stripped down during post-processing.
So, my question is: except for speed, what is the downfall of this solution? Where it could go wrong both during the development/maintenance of the framework, and its applications? What are the downsides of this architecture?
2 ANSWERS
You must be logged in to reply to this topic.
Access to a thousands of activaties in Costa Rica. Everything from Adventure, Arts and Recreational Activities.
Booking your trasfers has never been easier. Look up available destications, times and get instant confirmation with just a few clicks.
Great resource for those who are looking for business and investment opportunities for residential and commercial real estate.
Shop Online for Costa Rica made products and services. Find Unique and one of kind items.
Make reservation at your favorite locations and events.
Get access to all the hotels in Costa Rica. Check availability and book
Search all the available vacation home rentals in Costa Rica.
We make it easy for you to make a reservation with your favorite place.
Place your oder online and have your food deliver to your location. Restritions apply.
Look for best deals and book your flights with us.
Quick, easy online car reservations for Costa Rica.
Locate Bank and ATM information
Schedule your appointmens directly with our participating providers.
Book your spa and salon treatments directly with our participating providers.
Explore best offers, promotions and hot deals with AskZipy.
Book your on damand services directly with our participating providers.
Looking for work, search our site to find business who are looking for talent to join their teams.
View photos form all the Ask Zipy adventures and activaties.
Locate Emergency services locations and contact information.
Search our list of faqs to the most common questions people have when visiting and working in Costa Rica.
Shopping for groceries has never been easier. order your groceries and have them delivered to your location.