A brief history of Shine
When we started to do a project we encountered an important problem. Developing a project with amateur developers is very dangerous. Because new developers don't care about some important things, and if the project manager, technical architect or head developer don’t care about those points, the project will fail.
In 2008 the university manager to assess the student progress situation wants them to develop an enterprise project. Because most of students haven’t enough experiences in implementing software project, we did primary analysis and during implementing project we try to don't help them. Unfortunately output of the project was re-programming the project. This problem kept our mind busy for a long time until we try to create a standard and comprehensive pattern for completing a project. After doing this job we do many enterprise projects with this pattern and the result was 50% saving time of developing and extending the project. So we decided to offer this pattern for developers in SourgeForge website.
(a document is available delow)
The problems which make the projects to are:
- Not to follow a standard architecture
- Not to care about naming rules in forms, classes, pages...
- Creating useless classes in frameworks such as Struts, Spring and also JSF
- Using complexity classes
- Implementing logic layer in the UI layer
- Plethora of dependency on UI
- Gaffes of web designer
- Creating meaningless pages
- Not to care about security points
- Creating complexity in distributed application on the network by using RMI, Corba, JMS
- Plethora engaging with frameworks XML adjustments
Shine pattern has been developed for variety of application. This pattern has these parts:
- Maplet: a framework for doing web projects which are coincidence with MVC architecture. This framework helps developers to follow a standard pattern for developing a web application. Maplet helps developers to save time of developing and extending.
- JShooter: a framework that makes reflects oriented programming an easy job for developers. Meanwhile it helps distributing application on the network.
- JConnection: This package helps developers to work with JDBC and Hibernate easier than before.
- Util: This package helps developers in these subjects:
1- File System
4- System Information
5- Web Socket
9- XML Parsing
10- Web uploading