Tuesday, March 04, 2008 2:48 PM
by
richlyc
ECF G5: Architecture, Quality Code, and Choices
Focusing on Architecture and Re-Use
In keeping with our overall goals of the ECF G5 we spent a lot of time on thinking through the architecture of everything. As our customers and partners have pushed us over the last few years, we know that our primary value proposition is to accelerate the delivery of multi-faceted ecommerce implementations.
How do we do this? By providing a solid architectural codebase, smart packaging of a comprehensive starting point (Front End and Backend), and well written and structured .NET code. In a nutshell, we provide a couple hundred thousand lines of well baked code developed using the best practices.
It's not for everyone. Meaning, if you are looking for a mere "shopping cart" or trying to slap up a commerce solution then the ECF is probably not for you. It is and always has been designed for professional-grade organizations, seasoned .NET developers, systems integrators specializing in end-to-end commerce solutions, and IT organizations looking to unify on a common platform for re-use.
Adapting Architecture to Reduce Code and Increase Quality
The ECF 5 has been re-architected to take advantage of the latest .NET capabilities. Simply put, imagine if Microsoft releases a new .NET framework (.NET 3/3.5) with new capabilities and technologies. Now imagine that you were designing a commerce solution that has to be usable by companies around the world, for different commerce solutions (B2C, B2B, B2G), and has to be able to live as a good citizen within a myriad of technologies. What do you do?
The first thing is you make sure is that you design it in such a way that everything as a whole offers all the core capabilities and plumbing that match the base of most commerce implementations. The net effect of this is that companies and engineers who develop and integrate have a fantastic starting point. Next, you ensure that the front end and backend is completely adaptable to a myriad of possibilities using core architectural principles and implemented in such a way that a professional .NET engineering and implementation team can engage. Finally, you factor in the best of breed product selection, mixed technology environments, and the ability to enable extension and added features so that the people implementing the solution can do what they want, the way they want. This is what we did with ECF G5 and it provides one of the best platforms for choice, re-use, flexibility--and if you're a systems integrator specializing in commerce solutions a base by which you can repeat and solve end-to-end problems for your customers.
The thing that binds this approach together is that anyone who understands .NET, implements user controls, understands ecommerce, and understands the notion of loosely coupled subsystems with independence can have the freedom to rapidly extend, integrate and modify the source in meaningful ways.
Acceleration Leading to a World of Choices
Gone are the days of "Write your Own" solution. If your organization has adopted .NET there is absolutely no reason you should spend your time trying to write a commerce solution from scratch. The real challenge is to find the right solution that you can extend, customize, and leverage for your unique business requirements and needs.
The ECF provides a killer base of code and architecture and then tees you up for a number of choices all starting with the simple fact that when you purchase the ECF you have the full source code, VS projects, and everything you need as a base. If you're a seasoned pro/systems architect with .NET, then you'll recognize that if you had the budget, hours, staff, et cetera, you would probably have designed it the same way we did.
- Well written code, stored procedures etc.
- Powerful set of front end, API, and backend features and capabilities
- Modular Architecture with Replace ability and Re-Use at Forefront
- Adaptable Data Structures
- Use of Latest .NET Technology (WWF, AJAX, etc.)
- Advanced Foundational Technologies (Mediachase Biz App Foundation(BAF) and .NET)
All of this provides you with an Acceleration point without compare. Now you can focus on the choices and implementation elections that you need to succeed.
Let's Talk about Choices
When you deal with commerce solutions you will have a lot of choices; you will need for your code base to adapt to those choices. Sometimes the choices are tactical, sometimes strategic, and sometimes a combination of both. The ECF shines in these situations as outlined above because of the way in which we architected it. We did not, and do not, focus on beating our competition with a pile of features because then you may have to retrofit the way someone else chose to implement a specific feature if it doesn't work the way you want. Rather, we spent the time thinking about what needs to be done, look for patterns, and enable the implementation choices to fold over.
Here are a few example scenarios of how the ECF works as a good citizen in the integration world:
- You already use a great .NET CMS from a company like SiteCore or Ektron or whatever floats your boat. You dig the fact that the ECF has a baseline CMS but in this case why worry about it since you have made your investments. Because you want to add the commerce capabilities, you can simply leverage the ECF core subsystems and APIs to implement the biz logic.
- You are big on social commerce and love the community functionality from Telligent. You want to use the full ECF including CMS and asset management, but you need to adapt the blogs, forums and other capabilities with a unified membership profile/SSO. No sweat. You can even cross pollinate UI elements and commerce capabilities from ECF directly into the community server presentation layer.
- You have a big bad ERP (homegrown, SAP, Dynamics, SAGE, etc.) and you have a bunch of other platforms to integrate into such as CRM, BI, and reporting. You have multiple sales channels, multiple brands, multiple catalogs, and multiple business processes. In short, you're trying to figure out how to pull together an integrated platform with enough flexibility to improve your enterprise flexibility. In this case, the ECF becomes another part of an overall enterprise architecture in which it is used in multiple ways. The best part is that its flexibility allows you to adapt and change aspects of it and re-use in multiple ways.
- You want to differentiate in your solution space as a systems integrator. You have a vast array of experience in a particular vertical and specialize in a particularly useful bit of functionality that everyone in your vertical needs. The catch is you want to surround that functionality and expertise within the framework of the backend and front end of the ECF. Cool. You can easily add an entire subsystem visually in such a way with ECF G5 that you can plug in a whole new set of functionality so that visually the new capabilities render themselves as part of the interface on both the front and back.
The list goes on and on, but the concept is the ECF is designed to be changed and changed the way you want to. Use all, use some, replace a subsystem, add a sbsystem--It's all there for you.