February 13, 2005 -- (WEB HOST INDUSTRY REVIEW) -- The nature of the hosting business presents a very big potential market for a piece of hosting technology or software. It also means that competing for recognition in a particular area of application is one of the earliest orders of business for developers targeting Web hosts.
ModernGigabyte (moderngigabyte.com) developer of the ModernBill billing platform began in 1999, spotting the need for a tool for automating recurring billing, and began carving out its place in that promising niche.
Partly by virtue of its filling a need that had not yet been filled, and partly by virtue of its effectiveness in filling that need, ModernBill has developed into a key Web hosting tool, well known and well regarded by a significant portion of the Web hosting business.
Having met that early challenge, says Michael Fountain, co-founder of ModernGigabyte and president of research and development, the company set out to accomplish new goals in the development of ModernBill version 5, which began initial beta testing January 16. The new version extends not just the capabilities of the software, but its ability to integrate new capabilities. And it sets the software up to expand its application beyond the Web hosting business.
According to Fountain, ModernGigabyte recognized with version 4 of ModernBill that limitations built into the software's design could prevent it from adding those new features and expand its range of applications.
"We actually did a lot of studying on the features of ModernBill," he says, "and the features of the community and tried to put in place a framework that [in the future] would allow us to extend beyond anything that we can think of today, because that was what hindered us before. We didn't have the ability to grow the product."
Re-building the software from the ground up, the company developed a platform that works more like an assembled collection of components built on the foundation of the ModernBill API. Fountain describes it as being "like a three-layer cake." The foundation, or bottom layer, is the MBAPI. In the middle is a set of integration layers - the admin integration layer, the client integration layer and the order integration layer. At the top is the display layer. With the new construction, functions can be added at the foundation, and can surface at any of the integration layers and at the client level.
"With ModernBill's framework tomorrow, version 5, the possibilities are endless, " he says. "The MBAPI allows a really good push-pull interface. It's all XML-based. So any third-party vendor, module writer or add-on writer using the API [can] take our integration layer, which is all object-oriented now, [and create] drop-in widgets and drop-in modules that interact with the MBAPI or integration layers."
Version 5 of ModernBill will include, for the first time, a software developers kit, which will enable customers and third parties to build new add-on components for the software.
According to Jeremy Christ, co-founder and president of business development at ModernGigabyte, the new construction makes the software more agreeable to the new markets the company plans to target, such as subscription-based content Web sites, or even brick-and-mortar operations. Version 5 will enable them to pull out Web hosting-specific components and insert other, more relevant pieces, even developing their own.
The company has been adding new modules to the product since the version 5 beta began, and it says feedback so far has been positive. The company has yet to set a date for the completion of its software. But its 2nd Annual Hosting Workshop, scheduled for the first days of March is intended as the ModernBill version 5's official launch and training workshop, now just weeks away.
Having firmly established its place in the Web hosting billing arena, ModernGigabyte has set its sights on both revolutionizing that market, and expanding beyond it.
Search the Knowledge Base to find a solution to your problem.
Browser
CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Remote Address
38.103.63.17
Referrer
Date/Time
12-May-08 09:03 AM
Stack Trace
at cfart_whnews_Close2ecfm1364004782.runPage(D:\home\thewhir\html01\templates\art_whnews_Close.cfm:72) at cfeagle_ModernBill_Re2dengineered_in_Update2ecfm634703855.runPage(D:\home\thewhir\html01\features\eagle_ModernBill_Re-engineered_in_Update.cfm:1)
coldfusion.xml.XmlProcessException: An error occured while Parsing an XML document.
at coldfusion.xml.XmlProcessor.parse(XmlProcessor.java:154)
at coldfusion.runtime.CFPage.XmlParse(CFPage.java:182)
at cfart_whnews_Close2ecfm1364004782.runPage(D:\home\thewhir\html01\templates\art_whnews_Close.cfm:72)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:343)
at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:1908)
at cfeagle_ModernBill_Re2dengineered_in_Update2ecfm634703855.runPage(D:\home\thewhir\html01\features\eagle_ModernBill_Re-engineered_in_Update.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:343)
at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:210)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:51)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:50)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.CfmServlet.service(CfmServlet.java:105)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:527)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:204)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:349)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:457)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:295)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)