ewebdesigncompany framework and LAMP technology:
Business Process Framework:
Over the years ewebdesigncompany has closely researched the client necessities and created a development methodology that provides a structured framework aimed at delivering high quality web based solutions to clients. Experiences through hundreds of development projects, have enabled us to refine our business process by blending the best industry practices like Rational Unified Process (RUP) and Extreme Programming(XP). We have absorbed best approaches to get maximum performance and highest quality for web-related projects while leaving away redundant complexity that may affect project budget and timing. Risky projects with dynamic requirements are perfect are what our Business Process Framework suited for.
The following points are core to our business process framework for any dynamic web development project:
Planning
- User stories are written.
- Release planning creates the schedule.
- Make frequent small releases.
- The Project Velocity is measured.
- The project is divided into iterations.
- Iteration planning starts each iteration.
- Move people around.
- Fix XP when it breaks.
Designing
- Simplicity.
- Choose a system metaphor.
- Create spike solutions to reduce risk.
- Refactor whenever and wherever possible.
Testing
- All code must have unit tests.
- When a bug is found tests are created.
- Acceptance tests are run often
Coding
- The customer is always available.
- Code must be written to agreed standards.
- Code the unit test first.
- Integrate often.
- Use collective code ownership.
- Leave optimization till last.
- No overtime.
The LAMP technology and ewebdesigncompany Framework:
Employing time and cost saving advantages that open source technologies offer, ewebdesigncompany specialists use LAMP development platfrom to provide our clients with flexible and efficient applications that poss high integration and compatibility capacities. Depending on client specific requirements ewebdesigncompany PHP team is ready to develop any LAMP-based application, from considerably small website to complex integrated system. To achieve the maximum efficiency and cost savings, ewebdesigncompany has developed its own custom PHP, MVC (model, view, controller) framework based on Model 2 paradigm.
This design model allows the Web page or other contents (View) to be mostly separated from the internal application code (Controller/Model), making it easier for designers and programmers to focus on their respective areas of expertise.
The framework provides a single entry point Controller. The Controller is responsible for allocating HTTP requests to the appropriate Action handler (Model) based on configuration mappings.
The Model contains the business logic for the application. The Controller then forwards the request to the appropriate View component, which is usually implemented using a combination of HTML with PHP tags in the form of templates. The resulting contents are returned to the client browser, or via another protocol such as SMTP.
Our framework is unique as it works based on action passed as parameter which we define with pecl-json and compile and store in an array. So url hacking through url passing is not possible. We use database abstraction layer, so no direct sql parsing to database engine to process. Thus, sql injection is not possible, resulting in increased security. Form data are passed through form data function as an associative array. Common tasks such as login, logout, form functions, simple queries are part of common functions, so when we need to add different functions we add those functions as external and define action to the json file. The framework also allows for developing completely template driven web systems.
ewebdesigncompany and other Popular MVC Frameworks:
In addition to our own MVC framework ewebdesigncompany is also very comfortable working with other popular Php MVC frameworks. Two of our favorites are CakePhp and CodeIgniter.
CakePHP started in 2005. The community has since grown a lot . CakePHP offers a CLI, or Command-line interface, accessed by the “cake” command. There are three core console applications available in the library: “bake” for the generation of models, controllers and views; “acl” for the management of Access Control Lists; and “schema” for database schema creation and migration. CakePHP adheres to the MVC (Model-view-controller) architectural pattern separating code logic from the user interface. In MVC, the model represents the information (the data) of the application; the view corresponds to elements of the user interface such as text, checkbox items, and so forth; and the controller manages the communication of data and the business rules used to manipulate the data to and from the model.
CodeIgniter is an open source web application framework for use in building dynamic web sites with PHP. “Its goal is to enable [developers] to develop projects much faster than…writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter is most often noted for its speed when compared to other PHP frameworks. In a critical take on PHP frameworks in general, PHP creator Rasmus Lerdorf spoke at frOSCon in August 2008, noting that he liked CodeIgniter “because it is faster, lighter and the least like a framework”.