The Development Ecosystem
Our NubeVision’s Enterprise Web/Cloud Application Development Ecosystem is put together to support the way we work and develop so that it is effective and productive for us.
Dictionary.com’s definition of Ecosystem is “any system of interconnecting and interacting parts, as in business”. As such, this is a Development Ecosystem that we have put together where the components are interconnecting and at the same time, interacting, enabling the whole to be much greater than the sum of its parts. It is a concoction and blend of common frameworks, tools and technology components integrated and woven together with process, techniques, best practices and skilled talent forming an ecosystem where the business application will thrive on web, cloud and devices in a manner that enhances the user experience.
The diagram below summarizes the components of the ecosystem.
What we are proposing is what we believe is a WAY FORWARD or APPROACH to developing Enterprise Web/Cloud Apps that is open, flexible, faster, low risk and vendor agnostic, and we meticulously do this using the ecosystem. The ecosystem is NOT a selling product but an approach to be used by our application development experts to engineer the business applications for you.
Some core tenets of the technology component of the ecosystem includes:
1. Open Standards support – e.g. Java, BPMN, CMIS, RESTful APIs. – Minimizes proprietary software and vendor dependency. Hence, more choices of components and increased portability
2. Use of and adaptation of Open Source tools and components – not reinventing but to adopt, modify and adapt helps lower cost and reduce development time. However, it is important to smartly choose open source components that are mature, supported by large enterprises and as much as possible, support open standards.
3. Use of automation tools to improve speed, accuracy, quality and reliability in delivery of solutions. This extends from building design and coding patterns to components assembly to code generators to software testing automation.
4. Increasing Vendor “Agnosticity” – As cloud computing is continually evolving, we believe it is important that our solutions are able to support and operate on a multitude of vendor specific infrastructure solutions. This provides the flexibility and minimizes dependence or lock-in to a specific vendor. We like to say that our solutions has “high vendor agnosticity”. To show high vendor agnosticity, our solutions will:
· Support for multiple Web Application Servers.
· Support for multiple IaaS and PaaS providers
· Support for various integration services
· Support for different data persistence engines
Key Elements of the Enterprise App Development Ecosystem
This complete Enterprise Web/Cloud App Development Ecosystem comprises the following key elements:
1. Development Platform that allows for development of all key components of an Enterprise App. In addition, an Enterprise can opt to use their own. This includes development for device apps as an extension to Enterprise App.
2. Set of proven development frameworks that will allow for reusability and consistency
3. Robust and elastic architecture where layers are decoupled to provide flexible mix of technologies but are integrated between the layers to provide seamless flow
4. A set of tools and technologies interwoven to allow for more efficient, effective and speedier delivery of Enterprise Apps
5. Wrap around this, we can support a development methodology from Waterfall to Agile to a hybrid Waterfall/Agile to ensure results are tangible, predictable and manageable