Introducing Shine Pattern

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.


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's parts

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

2-    Runtime

3-    Compiler

4-    System Information

5-    Web Socket

6-    MD5

7-    Thread

8-    Validation

9-    XML Parsing

10-  Web uploading



Our suggestion is that before producing any new part for your application search our Util package. There are lots of classes in this package that help you in different fields. This package will be developed by java open source developers in every version of Shine.



In Shine 2.2 version, all the org.j2sos packages’ name changed to org.j2os.


Maplet (Web, MVC Framework)

What is Maplet?

Maplet is a framework for implementing web based program, which is compatible with MVC architecture. This framework is very easy and helpful for developers and analyzers to do their jobs better than before, let’s begin with a simple example.


JShooter (Reflect in Network Framework)

What is JShooter?

JShooter is a framework for distributing application programs on the network. Certainly, you have used RMI, Corba and JMS. Each of aforementioned technologies has its own special problems and at the same time enjoys extraordinary advantages. However, you must be careful about the expenses caused by these technologies. In most cases RMI, Corba and JMS increase the productions’ costs unbelievably. However in other cases they confuse programmers. Years ago, Reflect Oriented Programming was the focus of attention within professional programmers, then Aspect Oriented Programming came into the programming world but instead of reducing the programmer’s task, it causes the professional programmers and even the amateur ones to be confused in many cases. One of the most important capabilities of JShooter is that it makes the “Reflect Oriented Programming” easier to use.


JConnection (JDBC & Hibernate Component)

What is JConnection?

JConnection is a tool for developers at the DB layer that solve lots of amateurs’ problems. This tool helps you to work with JDBC and Hibernate.


Util Package

What is Util?

Util package helps you to implement your application very easily. This package helps developers who don't want to use basic codes for their application.


About Architect

Amirsam bahador is one of the talented developers and project managers that have been done several projects with java programming language and oracle DBMS. His tendency is to work with Ruby, Go and ActionScript.

He has produced many technologies and frameworks for java, ruby. Shine Enterprise Java Pattern is one of his best products. Shine J2EE Application Framework is one of his products that have gained first rank in the SourceForge website.

Bahador is one of the theorists in the Artificial Intelligence field. He is well-known people in JAVA community in Iran. One of his honors is that he has never delayed for delivering his enterprise projects.

Bahador has written many books about programming languages and DBMSs. Most important of them are:

Complete Refrence of ORACLE (Refrance at the universities)

The basic concepts of working with java technologies

And his other products:       

Producing the first WEB BASE Operation System

Producing New no retrievable pattern for cryptography

Producing new technology that enable makes programming languages have relation with each other.

Producing a new method for information storage and recovery

Virtual human

Now he is teaching at university of applied, science and technology in IT College (unit34) and he also is the J2OS organization manager.

For more information you can refer to: